「java设置字符串编码」java设置字符串编码格式
本篇文章给大家谈谈java设置字符串编码,以及java设置字符串编码格式对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java如何把string转为utf-8
- 2、java中如何修改字符串编码?
- 3、java怎么对string编码
- 4、怎么用java把一个字符串进行utf8编码?
- 5、java怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串
- 6、请问java如何改变字符串的编码方式
java如何把string转为utf-8
java不同编码之间进行转换,都需要使用unicode作为中转。
String str = "任意字符串";
str = new String(str.getBytes("gbk"),"utf-8");
备注说明:
str.getBytes("UTF-8"); 意思是以UTF-8的编码取得字节
new String(XXX,"UTF-8"); 意思是以UTF-8的编码生成字符串
举例:
public static String getUTF8XMLString(String xml) {
// A StringBuffer Object
StringBuffer sb = new StringBuffer();
sb.append(xml);
String xmString = "";
String xmlUTF8="";
try {
xmString = new String(sb.toString().getBytes("UTF-8"));
xmlUTF8 = URLEncoder.encode(xmString, "UTF-8");
System.out.println("utf-8 编码:" + xmlUTF8) ;
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// return to String Formed
return xmlUTF8;
扩展资料:
UTF-8编码规则:
如果只有一个字节则其最高二进制位为0;如果是多字节,其第一个字节从最高位开始,连续的二进制位值为1的个数决定了其编码的字节数,其余各字节均以10开头。
实际表示ASCII字符的UNICODE字符,将会编码成1个字节,并且UTF-8表示与ASCII字符表示是一样的。所有其他的UNICODE字符转化成UTF-8将需要至少2个字节。每个字节由一个换码序列开始。第一个字节由唯一的换码序列,由n位连续的1加一位0组成,首字节连续的1的个数表示字符编码所需的字节数。
Unicode转换为UTF-8时,可以将Unicode二进制从低位往高位取出二进制数字,每次取6位,如上述的二进制就可以分别取出为如下示例所示的格式,前面按格式填补,不足8位用0填补。
参考资料来源:百度百科:UTF-8
java中如何修改字符串编码?
假设你的字符串的字节数组是buf,按照GBK解析这个字符串的方法就是如下
String
str=new
String(buf,0,buf.length,"GBK");
如果是utf-8编码,就把GBK换成utf-8即可
java怎么对string编码
参考如下代码:
package com.qiu.lin.he;
import java.io.UnsupportedEncodingException;
public class Ceshi {
public static void main(String[] args) {
String name = "张三";
byte[] b1 = null;
try {
b1 = name.getBytes("UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
String name1 = "";
try {
name1 = new String(b1, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} // 编码解码相同,正常显示
System.out.println(name1);
String name2 = "";
try {
name2 = new String(b1, "GBK");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} // 编码解码不同,乱码
System.out.println(name2);
}
}
运行结果为:
怎么用java把一个字符串进行utf8编码?
String text = “字符串”;
byte[] b_utf8 = text.getBytes("UTF-8"); //utf-8
byte[] b_iso88591 = text.getBytes("ISO8859-1"); //iso8859-1
byte[] b_gbk = text.getBytes("GBK"); //gbk
string unicode = getUnicode(text);//unicode
public static String getUnicode(String source) {
String result = "";
for (int i = 0; i source.length(); i++) {
result += "\\u"+Integer.toHexString((int) source.charAt(i));
}
return result;
}
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();
}
扩展资料:
getBytes() 方法有两种形式:
1、getBytes(String charsetName): 使用指定的字符集将字符串编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
2、getBytes(): 使用平台的默认字符集将字符串编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
参考资料:
百度百科-getBytes()
请问java如何改变字符串的编码方式
byte[] b=string.getBytes("GB2312");//使用GB2312编码方式对字符串string进行编码
//这时要想将字节数组b的内容正确解码只能使用GB2312的编码方式进行解码,即
String str=new String(b,"GB2312");//这里若使用UTF-8编码方式来进行解码就会乱码
//将eclipse默认的编码方式改为UTF-8,只是用该编码方式对.java源文件进行编码保存
//这个对new String(string.getBytes("GB2312"),"UTF-8")没啥影响的
//因为从java源文件获取字符串string时,已经通过UTF-8编码方式进行解码了
//而string.getBytes("GB2312")是使用指定的编码方式对字符串string进行从新编码
//这两者之间没啥关系的
java设置字符串编码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java设置字符串编码格式、java设置字符串编码的信息别忘了在本站进行查找喔。
发布于:2022-12-14,除非注明,否则均为
原创文章,转载请注明出处。