JAVA byte到char的转换

大家好,首先谢谢大家看到这里。
我正在尝试用JAVA破解一个C++编写的文件。
在C+中,貌似CHAR是占1个BYTE。
而在JAVA中一个CHAR是2个字符。
我必须读取一个BYTE,但是这个BYTE的取值只能到128,而CHAR是256.
请问有什么办法能够帮助我实现1个BYTE到CHAR的转换
希望高手不吝赐教,能否给出源代码呢
刚刚突然想起来,JAVA中byte的取值为-127到128,而C中unsigned CHAR 貌似0-255,所以他们直接一定可以转化的。那么该怎么转呢。我不知道我说的对不对。反正我只想使得 -127-128的数目对应0-255的数目 各位达人有什么办法吗

char 和 byte不是一个概念的

byte a = (byte)'b';

这个是成立的 char型就是一个单字符 直接强制类型转换就可以完成转换成1个字节的byte。 因为char的定义就是1字节。

所以互换方式就是强制转换
byte a = (byte)'c';
char b = (char)a;
System.out.println(b);

char在java中可以直接取值来表示
char b = (char)100;
System.out.println(b);
结果是d
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-06-01
度一个byte为b
使用 b & 0xFF就可以将-127~128对应到0~255了。
第2个回答  2009-06-01
String (byte [] bytes, String encoding) ;

用这个转成字符串就行了
第3个回答  2009-06-01
用CHAR来完成即可

我猜想楼主是想从文件中读取C++存储的数据是吧.
如果是这样的话,使用Char没有问题.
用Byte理论上也是可以的.不过可能要复杂一些本回答被提问者采纳

byte怎么转换为char
byte转char 如下:private char[] getChars (byte[] bytes) { Charset cs = Charset.forName ("UTF-8");ByteBuffer bb = ByteBuffer.allocate (bytes.length);bb.put (bytes);bb.flip ();CharBuffer cb = cs.decode (bb);return cb.array();} ...

java中byte[]怎么转换char[]
强制转换就可以。int len=bytes.length;char [] arr=new char[len];for(int i=0; i<len; i++){ arr[i] = bytes[i];}

在java中byte类型为什么不能自动转换为char类型
Java中byte、short、char三种类型的优先级是相同的,相同优先级之间是不能进行自动转换的,只能将低类型自动转换为高类型,例如,可以将byte自动转换为int类型。

java 将一个负数强转成char会出现什么结果呢?
从byte到char的转型稍微麻烦一点,因为byte是一个有符号类型,而char是一个无符号类型。在将一个整数类型转换成另一个宽度更宽的整数类型时,通常是可以保持其数值的,但是却不可能将一个负的byte数值表示成一个char。因此,从byte到char的转换被认为不是一个拓宽原始类型的转换,而是一个拓宽并窄化原...

Java 安卓 C# 之间字节转换问题
java的问题 java byte 范围是-128-127 你的 141 200不能直接转换成byte。我试了一下通过字符串转换char成byte 如下 char[] c ={64,123,200,141,45};String s=new String(c);System.out.println(Arrays.toString(s.getBytes()));结果:[64, 123, 63, 63, 45]从结果能看出141和 200被换...

java中什么是显式类型转换和隐式类型转换?
自动类型转换,也称隐式类型转换,是指不需要书写代码,由系统自动完成的类型转换。由于实际开发中这样的类型转换很多,所以Java语言在设计时,没有为该操作设计语法,而是由JVM自动完成。转换规则 从存储范围小的类型到存储范围大的类型。具体规则为:byte→short(char)→int→long→float→double 也就是说...

Java中对象类型转换原则有哪些?
Java数据类型的转换原则 从低精度向高精度转换 byte 、short、int、long、float、double、char 注:两个char型运算时,自动转换为int型;当char与别的类型运算时,也会先自动转换为int型的,再做其它类型的自动转换 基本类型向类类型转换 正向转换:通过类包装器来new出一个新的类类型的变量 Integer a...

Java数据类型自动转换的优先顺序
楼主你好: 转换原则:从低精度向高精度转换byte 、short、int、long、float、double、char 注:两个char型运算时,自动转换为int型;当char与别的类型运算时,也会先自动转换为int型的,再做其它类型的自动转换 基本类型有以下四种:int 长度数据类型有:byte(8bits)、short(16bits)、int(32bits)、...

一字节多长,等于几个char
一字节多长,等于几个char 这个不能一概而论! C语言规定:一个char所占大小就是一个字节 Java规定:一个char占2个字节。 不同编程语言 有不同的规定。需要分类讨论。一字节等于多少位 字节是计算机信息技术用于计量存储容量和传输容量的一种计量单位,1个字节等于8位二进制。 1千吉字节(...

Java进阶:Java变量类型之间的相互转换
在Java中整型 实型 字符型被视为同一类数据 这些类型由低级到高级分别为(byte short char)??int??long??float??double 低级变量可以直接转换为高级变量 例如 下面的语句可以在Java中直接通过 byte b;int i=b;而将高级变量转换为低级变量时 情况会复杂一些 你可以使用强制类型转换 即你必须采用下面...

相似回答