为了账号安全,请及时绑定邮箱和手机立即绑定

字符串到字节数组的转换

字符串到字节数组的转换

千巷猫影 2023-03-23 13:43:46
public static void main(String args[]){        try{            FileInputStream fs = new FileInputStream("test.txt");            int i = fs.read();            while(i != -1){                System.out.println( i);                i = fs.read();            }        }catch(Exception e){            System.out.println(e);        }    }test.txt 文件包含“Ç”。输出是 196 140 。Č 的 UTF-16 值是 268 。你能帮我看看为什么答案是 196 和 140
查看完整描述

2 回答

?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

如果不指定特定编码,Java 将默认使用“UTF-8”字符编码。

Č 的 UTF-8(十六进制)是 0xC4 0x8C,分别转换为十进制为 196 和 140。当使用 UTF-16 编码时,C 由 0x010C 的十六进制值表示,转换为十进制为 268。


查看完整回答
反对 回复 2023-03-23
?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

尝试创建InputStreamReader isr = new InputStreamReader(new FileInputStream("test.txt"), StandardCharsets.UTF_16);

或者提供一些其他合适的字符集编码值。


查看完整回答
反对 回复 2023-03-23
  • 2 回答
  • 0 关注
  • 74 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信