导航:首页 > 编程语言 > java字符编码gbk

java字符编码gbk

发布时间:2023-08-13 00:05:59

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不同编码之间进行转换,都需要使用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中如何修改字符串编码

StringBuilder
sb
=
new
StringBuilder();
//
创建URL
URL
url
=
new
URL("GBK
page
URL");
//
打开请求链接
URLConnection
page
=
url.openConnection();
//
以GBK格式读取返回流
BufferedReader
in
=
new
BufferedReader(new
InputStreamReader(page.getInputStream(),"GBK"));
//
读取流内容
String
inputLine;
while
((inputLine
=
in.readLine())
!=
null)
{
sb.append(inputLine);
}
sb.toString();

④ 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采用什么字符集

源码使用的字符集、和编译选用的字符集

JAVA 支持多种字符集

~~~~~~~~~~

⑥ 为什么java的默认编码不是utf-8 而是gbk

因为系统是中文语言的,得到的是GBK编码,所以肯定不是utf的。

工具:

win7

jdk

方法:

  1. 在计算机上右键选择属性

⑦ java编码问题,GBK转化为UTF-8

首先理解java的字符概念
java中字符串是字符的序列,虚拟机内部的字符都是16位的unicode字符,等价于C++中的WCHAR,也是为了实现虚拟机方便

WCHAR叫做宽字符,对应的MuitiChar叫做多字符,这种多字符中字符的位数不唯一

GBK 和 UTF8 是多字符的不同编码形式

s=new String(s.getBytes("gbk"),"utf-8");
的意思是:
byte[] bytes=s.getBytes("gbk");
s=new String(bytes,"utf-8");

第一句是将s对应的gbk编码转出来,形成一个字节流
第二句是将这个字节流按照utf-8编码转为java字符串,因此相当于将gbk编码的字节流当做utf-8来使用,这样在中文中会出现乱码

你的问题是,接口返回的已经是utf-8 所以它必须是byte[] 流,如果是字符串的话就不好办了

⑧ java中如何得到输入的汉字的GBK编码

/*
*Tochangethislicenseheader,.
*Tochangethistemplatefile,chooseTools|Templates
*andopenthetemplateintheeditor.
*/
packagecn.timecd.gyhhy.mscup;

importjava.io.UnsupportedEncodingException;
importjava.nio.charset.Charset;
importjava.util.Arrays;
importjava.util.logging.Level;
importjava.util.logging.Logger;

/**
*主要涉及到String类的getBytes方法
*@author32798
*/
publicclassTest{
publicstaticvoidmain(String[]args){
//预定义常量
Stringcharset="gbk";//编码

//请注意,找不到编码集的时候,下面这句代码会抛出
//java.nio.charset.UnsupportedCharsetException
Charsetcharset$=Charset.forName(charset);//获取编码集
//只是阅读:两个变量名字比较,请注意区分
//charset
//charset$

//从string转bytes
Stringstr="这是一个测试文本";
try{
//方法一:直接通过编码集的名字转码
//需要try-catch
//当字符集找不到时会抛出java.io.UnsupportedEncodingException
System.out.println(Arrays.toString(str.getBytes(charset)));
}catch(){
Logger.getLogger(Test.class.getName()).log(Level.SEVERE,null,ex);
}
//方法二:通过编码集(java.nio.charset.Charset)转码
//不需要try-catch
System.err.println(Arrays.toString(str.getBytes(charset$)));
try{
Thread.sleep(200);//只是为了让ide能按顺序输出
}catch(InterruptedExceptionex){}

//从bytes转string
//byte[]bytes={-78,-35,-60,-32,-62,-19};
byte[]bytes=str.getBytes(charset$);//只是为了获取测试文本的gbk码
System.out.print(" ");//隔出3行,免得跟之前的输出混淆
try{
//方法一:通过编码集名字新建一个string
//需要try-catch
//当字符集找不到时会抛出java.io.UnsupportedEncodingException
System.out.println(newString(bytes,charset));
}catch(){
Logger.getLogger(Test.class.getName()).log(Level.SEVERE,null,ex);
}
//方法二:直接通过字符集新建一个string
System.err.println(newString(bytes,charset$));
}
}

阅读全文

与java字符编码gbk相关的资料

热点内容
安卓如何玩港服游戏 浏览:348
程序员如何换个城市生活 浏览:145
JS开发PDF 浏览:285
app格式不对怎么办 浏览:96
32位定时器单片机 浏览:332
安卓编译不能进行下一步签名 浏览:607
男生做保洁解压视频 浏览:750
qd88yg压缩机参数 浏览:385
pubg国际服服务器有什么区别 浏览:506
怎么打开文件夹自动删除 浏览:685
php中英文切换 浏览:445
php168数据 浏览:79
水压缩后有弹性 浏览:47
苏州阿里云服务器数据备份 浏览:524
消息提示音怎么设置安卓 浏览:279
怎么去掉安卓手机的小圆圈 浏览:476
女程序员每天教你一招 浏览:590
药剂学pdf下载 浏览:477
打开的共享文件夹少东西 浏览:643
芝麻黑头解压去除视频 浏览:186