本篇文章给大家谈谈javastring的编码,以及java字符编码表对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
1、怎么 知道 java字符串 编码格式2、java如何把string转为utf-83、java的String存储中文的时候 存的是什么,是按照什么编码方式存储的?4、JAVA 字符串 字节 编码问题 高手来5、java怎么对string编码6、java中的String的默认编码是什么
怎么 知道 java字符串 编码格式
这样的测试方法是不正确的。getBytes(charset)是解码,new String(byte[], charset)是编码。new String(str.getBytes(charset),charset)是解码再编码,无论charset是什么编码格式,返回的字符串内容原始str是一致,因此equals方法都是返回true,达不到测试字符串编码格式的目的。个人观点:正确的测试姿势应该是这样的:
String charset =”xxx”; //假定编码格式
String str = “中文”;
boolean flag = str.equals(new String(str.getBytes(),charset));
flag为true则表明str的编码格式是假定的编码格式。其中说明str.getBytes()该方法就是按其自身编码格式去解码。其自身编码格式跟你的操作系统编码格式或你使用的IDE设置的文件的Text file encoding有关。
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的String存储中文的时候 存的是什么,是按照什么编码方式存储的?
String在内存中是以UCS-2编码或者叫UTF-16的早期版本存储。
当写入文件可以用其他指定的编码,比如GB2312,GBK,BIG5等。
JAVA 字符串 字节 编码问题 高手来
1.
编程序的时候如果:String
str=”中文”;在存成文件时,需要把这段文字存为数据(每个字节byte=8bit),即要编码,按照不同的编码方式(比如gb2312或者unicode),所以保存文件的时候需要指定编码,一般编辑器默认跟系统一致。java编译器,将源程序编码时,采用的是unicode编码方式,所以存在class文件中的字节码里的中文常量也是unicode的。这是源程序
2.
在程序处理时,你如果想把str=”中文”,以一定的编码方式变成存储时的数据(byte数组),就需要str.getBytes(“encoding”),同理,你从文件或者其他地方读取到数据后,想转换成字符串,那么你就要知道他之前是用什么编码方式变成的数据,然后用new
String(bytes,
“encoding”)
就可以了。
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中的String的默认编码是什么
可以通过如下代码获得默认编码:
System.out.println(Charset.defaultCharset());
字符编码(英语:Character encoding)也称字集码,是把字符集中的字符编码为指定集合中某一对象(例如:比特模式、自然数序列、8位组或者电脉冲),以便文本在计算机中存储和通过通信网络的传递。常见的例子包括将拉丁字母表编码成摩斯电码和ASCII。其中,ASCII将字母、数字和其它符号编号,并用7比特的二进制来表示这个整数。通常会额外使用一个扩充的比特,以便于以1个字节的方式存储。
在计算机技术发展的早期,如ASCII(1963年)和EBCDIC(1964年)这样的字符集逐渐成为标准。但这些字符集的局限很快就变得明显,于是人们开发了许多方法来扩展它们。对于支持包括东亚CJK字符家族在内的写作系统的要求能支持更大量的字符,并且需要一种系统而不是临时的方法实现这些字符的编码。
javastring的编码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java字符编码表、javastring的编码的信息别忘了在本站进行查找喔。