导航:首页 > 编程语言 > 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相关的资料

热点内容
带动程序员技术氛围的活动有哪些 浏览:551
华为捐赠源码 浏览:591
ccs编译程序一直弹debug 浏览:47
安卓手机如何调白图片 浏览:355
什么牌子的安卓平板最好用 浏览:172
keil编译显示目标没有建立 浏览:793
安卓收银机如何安装打印机驱动 浏览:820
电动车什么app上买 浏览:531
墨西哥pdf 浏览:712
python图形界面编程 浏览:958
暂停加密服务 浏览:278
易语言编程系统下载 浏览:55
linux创建数据库命令 浏览:927
佛系程序员的道路 浏览:409
安卓手机怎么玩天天麻将 浏览:218
程序员高血脂 浏览:265
基于单片机的盲人探路器 浏览:648
少女心贴图app哪个好 浏览:528
企业员工系统源码 浏览:755
java第三方jar 浏览:274