我们在学java流的时候,如果一个字节一个字节读取,最后输出时候,会出现乱码。请问printf函数
我们在学java流的时候,如果一个字节一个字节读取,最后输出时候,会出现乱码。请问printf函数输出汉字是怎么知道两个字节输出还是一个字节输出??如果一个字节输出的话,...
我们在学java流的时候,如果一个字节一个字节读取,最后输出时候,会出现乱码。请问printf函数输出汉字是怎么知道两个字节输出还是一个字节输出??如果一个字节输出的话,不也就会乱码嘛。printf函数如何实现的
展开
2个回答
展开全部
printf底层只是在输出之前转换成了字符串而已,而其他流比如输出一个数字97 那么打开记事本就是a。
更多追问追答
追问
那我用字节流读取文件中内容,一个字节一个字节读取,最后反正都可以把所有字节读取完,那么我输出这些内容为什么就会乱码??
追答
比如 一个 "你" 字 。gbk编码 11 22 你用字节流读取是读11就存起来 读22又存起来 解码的时候在编码表里找不到11对应的就会乱码。字符流就不同。他是读取两个细节在一起解码
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询