本文目录一览:
- 1、java 怎么gbk转码utf-8
- 2、java中GBK编码格式转成UTF8,用一段方法实现怎么做
- 3、java中怎么显示GBK?
- 4、java中如何得到输入的汉字的GBK编码
- 5、为什么java的默认编码不是utf-8 而是gbk
- 6、在java中gbk怎么转utf8编码
java 怎么gbk转码utf-8
方法一:
思路:先转为Unicode,然后转为GBK
String utf8 = new String(t.getBytes( “UTF-8”));
System.out.println(utf8);
String unicode = new String(utf8.getBytes(),”UTF-8″);
System.out.println(unicode);
String gbk = new String(unicode.getBytes(“GBK”));
System.out.println(gbk);
方法二:
public static void main(String[] args) {
String str=”字符串编码转换”;
try {
byte[] temp=str.getBytes(“utf-8”);//这里写原编码方式
byte[] newtemp=new String(temp,”utf-8″).getBytes(“gbk”);//这里写转换后的编码方式
String newStr=new String(newtemp,”gbk”);//这里写转换后的编码方式
System.out.println(newStr);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
java中GBK编码格式转成UTF8,用一段方法实现怎么做
java中GBK编码格式转成UTF8编码格式的方法如下:
public static void main(String[] args) throws Throwable {
String errStr = “errStr”;
System.out.println(recover(errStr));
}
public static String recover(String str) throws Throwable {
return new String(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中怎么显示GBK?
public static void main(String[] args){
try {
String a = “肖”;
byte[] b = a.getBytes(“GBK”);
for(byte bt: b){
System.out.println(Integer.toHexString(bt));
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
输出结果:
ffffffd0
ffffffa4
java中如何得到输入的汉字的GBK编码
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package cn.timecd.gyhhy.mscup;
import java.io.UnsupportedEncodingException;
import java.nio.charset.Charset;
import java.util.Arrays;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
* 主要涉及到 String 类的 getBytes 方法
* @author 32798
*/
public class Test {
public static void main(String[] args){
// 预定义常量
String charset = “gbk”;// 编码
// 请注意,找不到编码集的时候,下面这句代码 会抛出
// java.nio.charset.UnsupportedCharsetException
Charset charset$ = Charset.forName(charset); // 获取编码集
// 只是阅读: 两个 变量名字 比较, 请注意区分
// charset
// charset$
// 从 string 转 bytes
String str = “这是一个测试文本”;
try {
// 方法一: 直接通过 编码集的名字 转码
// 需要 try-catch
// 当字符集找不到时会抛出 java.io.UnsupportedEncodingException
System.out.println(Arrays.toString(str.getBytes(charset)));
} catch (UnsupportedEncodingException ex) {
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 (InterruptedException ex) {}
// 从bytes 转 string
//byte[] bytes = {-78, -35, -60, -32, -62, -19};
byte[] bytes = str.getBytes(charset$);// 只是为了获取测试文本的 gbk 码
System.out.print(“\n\n\n”); // 隔出3行, 免得跟之前的输出混淆
try {
// 方法一: 通过 编码集名字 新建一个 string
// 需要 try-catch
// 当字符集找不到时会抛出 java.io.UnsupportedEncodingException
System.out.println(new String(bytes, charset));
} catch (UnsupportedEncodingException ex) {
Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
}
// 方法二: 直接通过 字符集 新建一个 string
System.err.println(new String(bytes, charset$));
}
}
为什么java的默认编码不是utf-8 而是gbk
因为系统是中文语言的,得到的是GBK编码,所以肯定不是utf的。
工具:
win7
jdk
方法:
在计算机上右键选择属性
点击高级系统设置
点击环境变量
在系统变量中点新建,输入变量名为: JAVA_TOOL_OPTIONS, 变量值为:-Dfile.encoding=UTF-8,确定就可以了。
在java中gbk怎么转utf8编码
java中,编码是字节转字符的时候产生的不同映射造成的差异。那我们就可以利用这一点实现。例如,我们有一个gbk编码格式的字符串,那我们先把它的字节得到。
String s = “abc”;
byte[] b = s.getBytes();
再将其转为需要的编码格式。如utf-8
String newStr = new String(b,”utf-8″)
binggo~!!
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/254115.html