java new String(byte[],UTF-8)编码问题
我做读取文件内容的例子,用byte[]接收,然后用newString(byte[],UTF-8)来进行转换,但是读出来的中文就是乱码,而我把utf-8变成gbk,就是正常...
我做读取文件内容的例子,用byte[]接收,然后用new String(byte[],UTF-8)来进行转换,但是读出来的中文就是乱码,而我把utf-8变成gbk,就是正常的,这个问题怎么解决????
展开
4个回答
展开全部
写的时候要和读取的时候用同样的编码规则,否则会出现乱码
更多追问追答
追问
哎,我就是新建个文本文档,里面写了几个字,里面有英文也有中文,中文就只有两个字(测试),哪来的什么写的时候编码和读取要一致,一提问,就这么多没用的回答,我也知道编码要一致,关键是现在本来就是一致的,如果不一致,哪里出问题了,我想知道如何解决,如果还是这么模棱两可的回答,就别回答了
追答
你在发问题之前有没有将你的文件是用什么编码说出来,用的什么编码规则只有你自己知道,我只能说在你写的时候和读的时候编码要一致。所以在提问的时候把问题描述清楚,不要说的只有自己明白!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
windows 系统默认的编码是gbk,所以你读的时候也是用gdk;
如果你想用utf-8来读取,就先用utf-8格式来写一个文本,再用utf-8 去读取
如果你想用utf-8来读取,就先用utf-8格式来写一个文本,再用utf-8 去读取
追问
怎么建立一个utf-8编码的文本?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
试试String.getByte("UTF-8");还是有就是一楼说的
追问
我是读取一个文件的内容,文件内容就是test测试然后用byte[]接收,再用new String(byte[],"UTF-8") 这个方法,转成String, 测试这两个字就是乱码。我把编码变成gbk,就是正常的你这个是把一个String 转成utf-8编码的byte[],我转换过来的String已经是乱码了你说的不对
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询