大于127的是汉字编码,不能转为byte
解决方案 »
- 命令提示:ticketssystem.java :23:找不到符号 符号:方法currentThread() 位置:类j
- 将对象作为自变量传送。。this
- 象netbeans一样,窗口可以随意变大变小,收起来后可以边上显示的窗口是怎么做的啊?
- 关于JFrame内容面板的外观设计问题
- 急!!!用java怎么样实现浏览器插件的开发,原理,及类的应用,谁能说说,要求的功能是如下
- java中可以这样初始化一个数组String[][] s = new String[3][];这样的东西在实际应用中有什么用呀!是不是为了考试,请高手指教。
- 我对子类重载/覆盖父类方法的理解,请大家看对不对?
- 单例模式和静态对象的销毁
- 初学者的路由热心人掌舵,请各位多多献策!
- 请问哪里有SL-GMS J/Net下载?而且是解密的。高分送上。
- 请教:linux下字符的问题
- 我26岁了,有网络方面知识基础,刚开始学JAVA是否适合学习J2EE?
http://dev.csdn.net/develop/article/13/13104.shtm
可能问题表述的不是清楚。
直接地问 0x8E 怎么才能转成byte,要真确的值,即值应该为142,不应该为-114如果没有办法,那么怎么实现0x8e转成一个char或者String??谢谢!
可能问题表述不是太清晰吧。0x8E 对应于142,142转成byte后,再转int就是-114.
但是这样的结果是正确的,因为这是在java这边表示的结果。byte 范围-128~127
这是我们技术牛人说的。等我在unix测试一下,告诉大家结果。
楼主所谓的大于127的ascii指什么??ascii都是小于127的,应该是大于127的unicode吧。大于127的unicode本身就是char,根本不存在转化的问题。
至于转化为byte,应该这样理解:
byte就是字节的整数表示,一个byte表示一个字节,范围在127~-127。硬要把char表示成byte,那就是一个unicode对两个byte
byte[] bt=new byte[2];
byte[0]=0x8E>>>4 & 0x000f;
byte[2]=(0x8E<<12 &0xf000)>>>12 & 0x000f
value += 256
}小于0的数加上256就正确了