java的utfgbk
Ⅰ java中GBK编码格式转成UTF8,用一段方法实现怎么做
java中GBK编码格式转成UTF8编码格式的方法如下:
publicstaticvoidmain(String[]args)throwsThrowable{
StringerrStr="errStr";
System.out.println(recover(errStr));
}
publicstaticStringrecover(Stringstr)throwsThrowable{
returnnewString(str.getBytes("GBK"),"UTF-8");
}
其中errStr就是乱码字符串,按照相反的顺序在编码(用gbk)、解码(用utf-8)回去,就能得到正确的字符串.
GBK、UTF-8是一种“编码格式”,是用来序列化或存储“编号(数字)”的一种“格式”;GBK和UTF-8都是用来序列化或存储unicode编码的数据的,但是分别是2种不同的格式; 除了格式不一样之外,所关心的unicode编码范围也不一样,utf-8考虑了很多种不同国家的字符,涵盖整个unicode码表,所以其存储一个字符的编码的时候,使用的字节长度也从1字节到4字节不等;而GBK只考虑中文——在unicode中的一小部分——的字符,的编码,所以算好了只要2个字节就能涵盖到绝大多数常用中文(2个字节能表示6w多种字符),所以存储一个字符的时候,所用的字节长度是固定的;
Ⅱ java中如何把utf-8转化成gbk
java中把utf-8转化成gbk:
①选中要改变编码的项目或文件,鼠标右击,选择【properties】。
Ⅲ 关于java编程的GBK和UTF-8字符集问题
你用javac -encoding UTF-8 Exerc02.java能正常输出, 说明你的java文件的编码是utf8
你用javac Exerc02.java编译出错, 说明你的系统默认编码不是utf8
推测你应该是window系统吧
记事本打开Exerc02.java文件, 文件另存为-->选择编码ANSI保存
然后javac Exerc02.java就可以编译了
Ⅳ java怎么把UTF-8字符串转成GBK字符串
java不同编码之间进行转换,都需要使用unicode作为中转。
以utf-8转gbk为例,示例代码如下:
Stringt="这是一个字符串aaa111";
Stringutf8=newString(t.getBytes("UTF-8"));
System.out.println(utf8);
Stringunicode=newString(utf8.getBytes(),"UTF-8");
System.out.println(unicode);
Stringgbk=newString(unicode.getBytes("GBK"));
System.out.println(gbk);
Ⅳ java 怎么判断编码是utf-8 还是gbk
你是要判断字符还是判断文件的编码,若是字符:
String
str="123456";
String
type
=
"utf-8";
//更换这里进行其他编码判断
try
{
if
(str.equals(new
String(str.getBytes(type
),
type
)))
{
return
type;
}
}
catch
(Exception
e)
{
}
如果是文件,麻烦一些,可以使用一个开源项目cpdetector,这个我也没用过,你自己查一下吧
Ⅵ java工程是utf-8,工程里引入的文件是gbk编码存储的,怎么读不乱码
修改编码格式:
方法一:
workspace工作间编码设置好了,当前workspace下创建的所有项目默认使用设置的编码,创建新的workspace工作间:
菜单“Window——>Preferences——>General——>Workspace”,默认Workspace使用GBK编码,在右边栏哗渗中选择“Other”,笑芦槐设置一种编码,比如:UTF-8(推荐)
方法二:
如果当前工作间设置了UTF-8编码,导入的项目使用的是GBK编码,需要额外指定项目的编码为:GBK。点击项目,鼠标右键“Properties——>碰友Resource”,选择“Other”选项,指定编码为GBK
Ⅶ Java中如何把GBK编码的字符串转成utf-8编码
我先解释一下我对你的问题的理解
:
你的问题有点笼统
可以这么理解两个意思
:
一
,你是想吧一个gbk编码的字符串用utf-8格式来编码
String
s
=
new
String
("全国".getBytes("GBK"),"GBK");
虽然这个时候的s是GBK编码的
但是s还是中文字符的
所以
上面这位同胞用
new(s.getBytes("GBK"),"UTF-8")的方式肯定是错的
应该用
String
s1
=
new
String
(s.getBytes("UTF-8"),"UTF-8")
这样s1就是UTF-8编码的字符串了
二,如果是遇见乱码问题
比如
String
s
=
new
String
("全国".getBytes("GBK"),"GBK");
这样的s就是gbk编码的
现在你要把GBK格式的编码用UTF-8去编码
肯定就会出现乱码
String
s2
=
new
String(s.getBytes("GBK"),"UTF-8");
这个s2肯定是乱码的
而且这样就根本解不出来了
系统出现的乱码显示的时候才会出现编码错误
所以
一般出现乱码
只要把输入流换个编码解析一下就ok了
还有什么不明白
可以问我
Ⅷ java 中文乱码问题 utf-8和gbk的区别
Java中UTF-8转GBK之所以不会出现中文乱码,是因为UTF-8编码为兼容性最大的字符集编码,它本身就支持中文字符。
Java代码转码范例:
String s = new String(ss.getBytes(),"GBK");
当你的内容本来就是正常的中文字符时,通过上面的语句转为GBK编码是不会有任何问题的,但如果你在转码之前的字符不是正确的中文字符,或者不是支持中文字符的字符集,那可能就会出现乱码问题。
UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。UTF-8用1到6个字节编码UNICODE字符。用在网页上可以同一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。
在Java开发中,特别是web开发,乱码是一种很常见而且很头疼的问题,这常常是由于页面端、服务端、数据库等几处所使用的字符不一致所致,故开发中,保持编码一致, 往往能减少由于乱码而带来的时间浪费,是一件非常重要的事情。
Ⅸ java 中文乱码问题 utf-8和gbk的区别
这其中存在一个转换问题:
如System.out.println(new String("中国".getBytes("gbk"), "utf-8"));
System.out.println(new String("中国".getBytes("utf-8"), "gbk"));
//将“中国“的gbk编码格式按着utf-8解析,或者反过来都会出现乱码。
如浏览器当前为gbk编码,就以gbk编码格式来提交。 这本身是不会出现乱码的,问题就出在Web服务器接收数据的凳裤时候,HttpServletRequest在将客户端传来的数据转掘消成ucs2码上出了问题。在默认情况下,是按着iso-8859-1编码格式来转的,而这种编码格式并不支持中文枣散简,所以也就无法正常显示中文了,解决这个
问题的方法是用和客户端浏览器当前编码格式一致的编码来转换,如果是utf-8,则在doPost方法中应该用以下的语句来处理:
request.setCharacterEncoding("utf-8");
Ⅹ 为什么java的默认编码不是utf-8 而是gbk
因为系统是中文语言的,得到的是GBK编码,所以肯定不是utf的。
工具:
win7
jdk
方法:
在计算机上右键选择属性