java 字符编码方面的问题,请赐教
最近在学习字符编码方面的知识,得知java中的char类型使用utf-16编码,固定2个字节,整数范围为0---65535,这个范围,包含了世界上绝大多数国家的文字。
故而,写了个小程序,将所有字符写入一个文件中
public class FileWriteTest {
public static void main(String[] args) {
try {
FileWriter fileWriter = new FileWriter("unicode.txt");
for (int i = 0; i < 65536; i++) {
fileWriter.write(i);
}
fileWriter.flush();
FileReader fileReader = new FileReader("unicode.txt");
int read;
while ((read = fileReader.read()) != -1) {
System.out.println("index=" + read + ", 对应字符:" + (char) read);
}
} catch (Exception e) {// 路径可能不存在
e.printStackTrace();
}
}
}
问题1, 为什么我用文本编辑器打开,发现有很多符合不显示、显示问号?
如下图
问题2: 我修改了,文件的编码方式,使用utf-16,也不显示字符,这是为什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
有的字符就是空白,比如回车,tab,有的显示成文号,可能是你电脑上没有这个字符集吧。