「java编码格式判断」java 判断编码格式

博主:adminadmin 2023-03-22 05:19:06 724

本篇文章给大家谈谈java编码格式判断,以及java 判断编码格式对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java 如何判断字符串编码格式

java可供判断某字符串是什么编码的一行代码

System.out.println("中文");

        System.out.println("中文".getBytes());

        System.out.println("中文".getBytes("GB2312"));

        System.out.println("中文".getBytes("ISO8859_1"));

        System.out.println(new String("中文".getBytes()));

        System.out.println(new String("中文".getBytes(), "GB2312"));

        System.out.println(new String("中文".getBytes(), "ISO8859_1"));

        System.out.println(new String("中文".getBytes("GB2312")));

        System.out.println(new String("中文".getBytes("GB2312"), "GB2312"));

        System.out.println(new String("中文".getBytes("GB2312"), "ISO8859_1"));

        System.out.println(new String("中文".getBytes("ISO8859_1")));

        System.out.println(new String("中文".getBytes("ISO8859_1"), "GB2312"));

        System.out.println(new String("中文".getBytes("ISO8859_1"), "ISO8859_1"));

        

        eg:判断当前字符串的编码格式。

//判断当前字符串的编码格式

if(destination.equals(new String(destination.getBytes("iso8859-1"), "iso8859-1")))

{

destination=new String(destination.getBytes("iso8859-1"),"utf-8");

}

java判断文件编码格式 怎么判断编码格式

UTF-8编码的文本文档,有的带有BOM (Byte Order Mark, 字节序标志),即0xEF, 0xBB, 0xBF,有的没有。Windows下的txt文本编辑器在保存UTF-8格式的文本文档时会自动添加BOM到文件头。在判断这类文档时,可以根据文档的前3个字节来进行判断。然而BOM不是必需的,而且也不是推荐的。对不希望UTF-8文档带有BOM的程序会带来兼容性问题,例如Java编译器在编译带有BOM的UTF-8源文件时就会出错。而且BOM去掉了UTF-8一个期望的特性,即是在文本全部是ASCII字符时UTF-8是和ASCII一致的,即UTF-8向下兼容ASCII。

在具体判断时,如果文档不带有BOM,就无法根据BOM做出判断,而且IsTextUnicode API也无法对UTF-8编码的Unicode字符串做出判断。那在编程判断时就要根据UTF-8字符编码的规律进行判断了。

UTF-8是一种多字节编码的字符集,表示一个Unicode字符时,它可以是1个至多个字节,在表示上有规律:

1字节:0xxxxxxx

2字节:110xxxxx 10xxxxxx

3字节:1110xxxx 10xxxxxx 10xxxxxx

4字节:11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

这样就可以根据上面的特征对字符串进行遍历来判断一个字符串是不是UTF-8编码了。

举例代码:

java.io.File f=new java.io.File("待判定的文本文件名");

try{

java.io.InputStream ios=new java.io.FileInputStream(f);

byte[] b=new byte[3];

ios.read(b);

ios.close();

if(b[0]==-17b[1]==-69b[2]==-65)

System.out.println(f.getName()+"编码为UTF-8");

else System.out.println(f.getName()+"可能是GBK");

}catch(Exception e){

e.printStackTrace();

}

java判断字符串是否超出utf8编码

php判断是不是字符串的方法:可以利用php内置函数is_string()来判断。is_string()函数用于检测某个变量是否是字符串,如果指定变量为字符串则返回true,否则返回false。php为我们

告诉你java如何判断编码是否是utf8编码

String的getBytes()方法是得到一个系统默认的编码格式的字节数组。 getBytes("utf-8") 得到一个UTF-8格式的字节数组。 把String转换成bytes,各种编码

怎么 知道 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编码格式判断的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java 判断编码格式、java编码格式判断的信息别忘了在本站进行查找喔。