当前位置:首页 » 编程语言 » javagb2312

javagb2312

发布时间: 2022-05-24 06:09:03

java怎么把utf-8的字符串转换为gb2312格式

Java中字符串转码,根据实际运用的环境有以下三种方式

1、使用Java.lang.String

这是最常用的方法,先用对应编码获取字节,然后重新构造新编码,示例代码如下:

Strings="清山";
byte[]b=s.getBytes("utf-8");//编码
Stringsa=newString(b,"gb2312");//解码:用什么字符集编码就用什么字符集解码

2、java.io.InputStreamReader/OutputStreamWriter:桥转换

读写文件的应用中,可以使用这种方式,直接在IO流构造中转换,示例代码如下:

InputStreamis=newFileInputStream("C:/项目进度跟踪.txt");//文件读取
InputStreamReaderisr=newInputStreamReader(is,"utf-8");//解码
OutputStreamos=newFileOutputStream("C:/项目进度跟踪_gb2312.txt");//文件输出
OutputStreamWriterosw=newOutputStreamWriter(os,"gb2312");//开始编码

3、java.nio.Charset

使用nio中的Charset转换字符,示例代码如下:

CharsetinSet=Charset.forName("utf-8");//解码字符集
CharsetoutSet=Charset.forName("gb2312");//编码字符集
CharsetDecoderde=inSet.newDecoder();//解码器
CharsetEncoderen=outSet.newEncoder();//编码

② java中怎样将GB2312的中文转换成utf-8编码

String tempStr="中文";//准备转换的字符
String result=new String(tempStr.getBytes("GB2312"),"UTF-8");//转换后的结果

③ Java怎么将字符串转换为GB2312原编码

@Test
publicvoidtest333(){
Stringa="青白";
try{
byte[]b=a.getBytes("GB2312");
System.out.println(bytesToHexFun1(b));

}catch(UnsupportedEncodingExceptione){
e.printStackTrace();
}
}
//将byte数组转成16进制字符串
(byte[]bytes){
char[]HEX_CHAR={'0','1','2','3','4','5',
'6','7','8','9','a','b','c','d','e','f'};
//一个byte为8位,可用两个十六进制位标识
char[]buf=newchar[bytes.length*2];
inta=0;
intindex=0;
for(byteb:bytes){//使用除与取余进行转换
if(b<0){
a=256+b;
}else{
a=b;
}
buf[index++]=HEX_CHAR[a/16];
buf[index++]=HEX_CHAR[a%16];
}
returnnewString(buf);
}

中心思想就是先转成GB2312的byte数组,再转成16进制就可以了。

④ java 怎么把gb2312编码的中文转换成utf-8不出现乱码

爬虫的话,爬到GB2312网页的话,得到的字节流已经是GB2312编码了。
直接new String(bytes,"GB2312)即可了。

输出时,通过stream对象指定UTF-8编码输出就行了。

⑤ java中接口编码格式为gb2312的,但是我们实现的类用的是utf-8的,之间怎么转换格式

看你的来源是什么编码 如果来源是gb2312 要转成utf-8

那么就是 String s1 = new String( s.getBytes("ISO8859-1"),"UTF-8" ) ;

⑥ 怎么将java代码的编码方式设置为gb2312

将文件打开。另存为,然后下面会出现一个编码格式,自己选择GB2312即可,不过记事本方式是没gb2312的,找个EditPlus或者其他的文本工具,里面就有GB2312
可以选择,或者在myeclipse里面右键文件,点最底下的选择进去也有一个更换格式的,不过更换了中文会乱码得重新写

⑦ Java对GB2312编码与字符串转换

getBytes("gb2312") 得到byte[] 数组。

反过来: String s = new String(bytes, "gb2312")

⑧ 请问java是用utf-8编码还是用GB2312编码的

XML默认是utf-8..一般做中文网站都可以用gb2312 gbk utf-8 gb18030 都得..要看是咩数据库..同咩服务器..用tomcat最好就utf-8啦..mysql都是..utf-8会好地..utf-8用起来会好用地..如果吾是..地咩乱码问题会出来噶..不过..有个过滤器就吾怕啦..

⑨ java 怎么 让 text 输出 不乱码 new String(text.getBytes("GB2312"))

上面的代码相当于将text从GB2312的编码转换为默认编码。
new String(byte[]) 相当于:new String(byte[], defaultCharset),
而默认编码是通过:
System.getProperty("file.encoding")
获取到的。
这个参数要么通过启动java程序的时候通过vm参数提供(Eclipse通过配置默认编码可以自动带入,myeclipse的普通程序也可以,如果是老版本myeclipse的Tomcat即使配置了默认编码也不行,编码还是GBK(Windows操作系统)),如果是linux系统,可以通过配置LANG环境变量来定义编码。
而java的内部编码都是utf8的,如果要让上面的输出不乱码那么可以:
1、让控制台以GBK编码查看,Eclipse的程序的启动配置中可以修改
2、让text先从默认编码转换为GB2312,然后上面的代码再将其从GB2312转换为默认编码,此时刚好可以不乱码。

⑩ java怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串

通过JDK1.6知道String类中getBytes(”编码“)方法可以讲一个数用指定的编码转成一个字节数组,String中通过指定的 charset解码指定的 byte 数组,构造一个新的String。代码如下:

try{

String s = "java学习";

System.out.println(s);

String result = new String(s.getBytes("GB2312"),"iso-8859-1");

System.out.println(s);

} catch (UnsupportedEncodingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

(10)javagb2312扩展阅读:

getBytes() 方法有两种形式:

1、getBytes(String charsetName):使用指定的字符集将字符串编码为 byte 序列,并将结果存储到一个新的 byte 数组中。

2、getBytes():使用平台的默认字符集将字符串编码为 byte 序列,并将结果存储到一个新的 byte 数组中。

参考资料:

网络-getBytes()

热点内容
云服务器app哪个最好 发布:2025-02-13 09:47:53 浏览:1000
php计算天数 发布:2025-02-13 09:34:04 浏览:869
如何查计算机配置 发布:2025-02-13 09:34:03 浏览:682
ubi源码 发布:2025-02-13 09:28:23 浏览:699
做亚马逊不用云服务器行吗 发布:2025-02-13 09:13:51 浏览:876
路由器翻过来哪里是密码 发布:2025-02-13 09:12:23 浏览:850
c语言宏变长 发布:2025-02-13 09:11:43 浏览:907
redis高速缓存 发布:2025-02-13 08:51:14 浏览:259
访问缅甸公报 发布:2025-02-13 08:49:51 浏览:900
电力初始密码是什么 发布:2025-02-13 08:38:12 浏览:712