gpt4 book ai didi

java - Byte流如何读取2个字节的UNICODE字符

转载 作者:行者123 更新时间:2023-12-01 10:38:46 25 4
gpt4 key购买 nike

记事本中的字符很少,需要 2 或 3 个字节。我可以使用输入流和输出流来复制文件。字节流适用于 ASCII 字符,字符流适用于 UNICODE 字符。输入流如何处理2或3字节字符?

FileInputStream fis = new FileInputStream("E:\\Users\\17496382.WUDIP\\Desktop\\qwert.txt");
FileOutputStream fos = new FileOutputStream("E:\\Users\\17496382.WUDIP\\Desktop\\qwert1.txt");
byte[] buffer = new byte[1024];
int len;
while((len = fis.read()) != -1){ //do this until int len is not -1
System.out.println((char)len);
fos.write(buffer, 0, len);

最佳答案

事实并非如此。 InputStreams 读取字节,Readers 读取字符。

如果遇到多字节字符,您的代码将显示垃圾。否则它也可能显示垃圾,因为您假设 byte = char (虽然这在许多编码中都适用)。

最后:Joel Spolsky's excellent article on Unicode 。阅读它,您将比许多其他开发人员更聪明。

关于java - Byte流如何读取2个字节的UNICODE字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34534286/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com