社区
Java
帖子详情
关于java中ascii转换的问题
rghone
2009-12-18 02:21:47
最近项目中,用到ascii转换,目前的情况是:前127位ascii转成字符没问题,从128位开始,就开始变成?了
比如:十六进制数80,换成ascii是 128,但是java里却成了 -128了,转成字符以后,就和ascii表对不起来了.
我用 string test = char(128),test出来是 ? 。byte(128)也试验了,也不行。
请高手给点意见或者转换方法。在线等!
...全文
2028
7
打赏
收藏
关于java中ascii转换的问题
最近项目中,用到ascii转换,目前的情况是:前127位ascii转成字符没问题,从128位开始,就开始变成?了 比如:十六进制数80,换成ascii是 128,但是java里却成了 -128了,转成字符以后,就和ascii表对不起来了. 我用 string test = char(128),test出来是 ? 。byte(128)也试验了,也不行。 请高手给点意见或者转换方法。在线等!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
rghone
2010-02-03
打赏
举报
回复
感谢各位的发言,不过qqbz,你这么说的话,那128对应的那个字符与char(81)+ char(82)+ char(88);三个字符加起来相等么?测试出来时“QRX”,明显不相等的。因为对方用c做的,直接一个chr(128)的,所以我这边一直束手无策啊。不过这个项目已经改为Delphi做了。
qqbz
2010-01-10
打赏
举报
回复
这里有一个概念:
ascii码是用来表示字符的,8位表示一个字符,对于英文没有那么多字符,最高位不会用到,就只有127个编码,每个编码对应一个英文字符或不可显示的控制字符(例如回车),而中文以及其他一些语言的话,通常是16位表示(也是8位表示一个,两个合成一个),就会产生大于128的,于是有了扩展的ascii,这些字符显示出来就是乱码。因此可以通过判断字符编码是否大于127来判断是否中英文。
回到楼主的问题上,十六进制的80,十进制就是128,这个128并不是80的ascii,可以查到ascii的128是一个非常奇怪的符号。显示出“?”是对的。
如果楼主想显示“128”本身的ascii码,就不应该认为它是个整数128,应该认为它是三个字符"1","2","8"。楼主可以查到这些字符的ascii分别是"81","82","88".
因此代码看起来应该是:
string test = char(81)+ char(82)+ char(88);
zy88882007
2010-01-09
打赏
举报
回复
java 是unicode编码 前面和ASCII基本一致 后面就不一样了
duoduo_die
2009-12-24
打赏
举报
回复
Ascii码 最早是7位 也就是 16进制 0x00~0x7f 二进制 0000 0000~0111 1111 10进制 0~127
后面又扩展了就是用上了8位 所以是 16进制 0x00~0xff 二进制 0000 0000~1111 1111 10进制 0~255
sxl12396
2009-12-22
打赏
举报
回复
。。。
霜之哀伤
2009-12-22
打赏
举报
回复
ascii码不就是0-127么...
boboo_2000_0
2009-12-22
打赏
举报
回复
这应该是Java本身对字符支持的问题,不知道该怎么解决。
Java
利用
ASCII
码
转换
英文字母遇到的小
问题
在
Java
中
使用
ASCII
码
转换
英文字母时,发现结果出现错误,如196、198等,这是因为
ASCII
码值被自动转化为int相加。正确做法是使用双引号,例如'+'变为+,这样可以得到预期的'B b'、'C c'等正确输出。
Java
字符串到16进制
ASCII
转换
实用教程
本文围绕
Java
中
字符串到16进制
ASCII
转换
展开,先介绍字符到
ASCII
码
转换
过程,包括原理与示例,接着阐述使用方法及应用场景。还探讨了Unicode字符处理方法、相关类的使用,最后分析
Java
字符串编码
问题
的常见场景、解决方案与最佳实践,强调理解编码方式在开发
中
的重要性。
ebcdic
java
_在
Java
中
将EBCDIC
转换
为
ASCII
本文档描述了在
Java
中
尝试将EBCDIC编码的文件
转换
为
ASCII
编码时遇到的
问题
。代码
中
使用InputStreamReader读取文件,但因USAGEISCOMP导致
转换
错误。博主寻求将字节直接读取而非字符的方法来解决此
问题
。
如果使用
java
得到“. ”的
ascii
英文
文章讨论了如何使用
Java
的`String.getBytes()`和`newString()`方法将字符串
转换
为
ASCII
,但指出这种方法对于超出
ASCII
范围的Unicode字符会失败。示例代码显示了尝试
转换
含有超出
ASCII
范围的特殊字符的字符串时的
问题
。,
Java
字符串跟
ASCII
码互转
本文介绍了一种解决前后端交互
中
消息乱码的方法,通过将字符串
转换
为
ASCII
码进行传输,有效避免了字符编码不一致导致的
问题
。文
中
提供了
Java
实现的具体代码示例。
Java
51,409
社区成员
86,087
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章