从UDP传过来一个128(0x80),转换成byte后变成了63(0x3f) ??
我看你的转换有问题,把你转换的代码写出来看看吧。
我看你的转换有问题,把你转换的代码写出来看看吧。
解决方案 »
- java读取文件问题???
- Java连Sql Server2005只能用JDBC的方式吗?
- 要求是去掉小于98的记录 , 结果现在小于98的还在 。
- jbuilder2005怎么可以生产jar
- [新手问题]怎么得到JTextField中用户输入的字符串?
- 如何继承java类的ClassLoader通过扩展可以支持动态加载类
- 读取excel文件时出现的java.lang.OutOfMemoryError
- 100分解决复制整个目录
- 如何将jtable中显示的数据转存为txt或者excel文件?(急!!)
- [公告]撤销sharetop的版主职务
- 关于log4j的疑问。
- 请教一个servlet容器机理的问题
String str = new String(byte[],"ISO-8859-1");
后来将str传给其他的函数后
byte[] b = str.getBytes();
这时候发现0x80->0x3f,估计是"ISO-8859-1"编码的问题,但是不指定该编码
直接String str = new String(byte[]);(默认编码为Ascii)
发现str是""的,没有东西,估计是Ascii码没有负数,而0x80是个负数的缘故请问怎么样我才能从str得到正确的byte
比如一个中文字符,作了2次gb2312转码
就会出现这种情况,显示出来就是乱码一般情况下,程序编译的时候,带上参数 -encoding 8859_1
而程序中进行gb2312转码,这样避免2次转码
String str = new String(b,"UTF-8");
byte[] b2 = str.getBytes("UTF-8");
这样 byte[] b = new byte[]{0x80};
String str = new String(b,"UTF-8");
b = str.getBytes("UTF-8");
前后两个中的值不一样了