Ⅰ 如何查看字符编码类型
可梁指以通过以下方法来进行编码逗困格式判断,输入一个字符串,之后返回字符串编码类型。
public static String getEncoding(String str) {
String encode = "GB2312";
try {
if (str.equals(new String(str.getBytes(encode), encode))) { //判断是不是GB2312
String s = encode;
return s; //是的话,返回“GB2312“,以下代码同理
}
} catch (Exception exception) {
}
encode = "ISO-8859-1";
try {
if (str.equals(new String(str.getBytes(encode), encode))) { //判断是不是ISO-8859-1
String s1 = encode;
return s1;
}
} catch (Exception exception1) {
}
encode = "UTF-8";
try {
if (str.equals(new String(str.getBytes(encode), encode))) { //判断是不是UTF-8
String s2 = encode;
return s2;
}
} catch (Exception exception2) {
}
encode = "GBK";
try {
if (str.equals(new String(str.getBytes(encode), encode))) { //判断是不是GBK
String s3 = encode;
return s3;
}
} catch (Exception exception3) {
}
return ""; //如果都不是,说明输入的内容不属于常见的山渣念编码格式。
}
Ⅱ 如何判别一个字符串是否是utf8还是unicode编码格式
游好两个编码的好磨谨区别是在英友基文字符,UTF-8的英文是一个字节,UNICODE的是两个。可以按这个特点来判断,但如果是全中文就区分不出来了。
Ⅲ linux下用什么函数判断字符串的编码方式
如题,假设给你一个字符数组
char a[]="abc";
在它的编码中gb2312和utf-8都一样
对任意一个字符而言,并版没有编权码格式的概念。同样的一个字母,在不同编码集里面代表不同的东西,当然也有可能恰好代表相同的东西。
编码集并不是文本本身的属性,而是观察者的角度,也就是说你用什么编码集来观察这段文本。——从程序的角度就是,你用什么软件去打开它。——编码识别大多通过非法字符进行识别,也就是说仅仅当我们判断具有非法的utf-8字符序列的时候,我们判断一个文本“不是utf-8”编码,但是我们永远无法判断一个文本“是utf-8编码”。——如果不包含任何非法字符,那么你就可以用任何编码去查看他:
例如“逍遥”如果使用BIG5码,但你还是可以使用GBK码查看这两个字,最后得到的是“殊换”。显然这两个词都是合法的,如果仅仅给你这个词,那么你无论从理论还是实际上都不可能知道原文的作者究竟是想表达“逍遥”还是“殊换“。
Ⅳ Window、Linux下如何查看修改oracle字符集编码
select userenv('language') from al(客户端查询)
-----Window下下查看及更改oracle字符集编码
打开注册表--HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMExx\NLS_LANG
修改NLS_LANG的键值
# 常用中文字符集
set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
# 常用unicode字符集
set NLS_LANG=american_america.AL32UTF8
-----Linux下查看及更改oracle字符集编码
[root@OracleDB ~]# cd /usr/local/oracle/
[root@OracleDB oracle]# env|grep NLS_LANG
NLS_LANG=american_america.zhs16gbk
[root@OracleDB oracle]# vi .bash_profile
# 使 bash_profile 设置生效
Ⅳ 如何检查字符串是否是UTF8编码
String str1;
String str2 = new String(str1.getBytes("iso8859-1"),"utf-8");
这样可以把iso8859-1或汪肆毁者是其它编码(雹祥改getBytes中的内困备容)的字符串改为UTF-8,
Ⅵ 查看linux字符编码命令
i).在 Vim 中可以直接查看文件编码(shift + :)输入set fileencoding 即可显示文件编码格式。
如果你只是想查看其它编码格式的文件或者想解决用 Vim 查看文件乱码的问题,那么你可以在 ~/.vimrc 文件中添加以下内容: set
encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936 这样, 就可以让 vim 自动识别文件编码
(可以自动识别 UTF-8或者 GBK 编码的文件) ,其实就是依照 fileencodings
提供的编码列表尝试,如果没有找到合适的编码,就用 latin-1(ASCII)编码打开。
ii). enca (需要安装)查看文件编码:$enca filename filename: Universal
transformation format 8 bits; UTF-8 CRLF line terminators 需要说明一点的是,enca
对某些 GBK 编码的文件识别的不是很好,识别时会出现: Unrecognized encoding
iii)还有一种很简单的方式,file 文件名 可以查看非elf文件的编码格式
Ⅶ 如何在 Linux 中将文件编码转换为 UTF-8
你可以使用 file 命令,并添加 -i 或 --mime 参数来查看一个文件的字符编码,这个参数可以让程序像下面的例子一样输出字符串的 mime (Multipurpose Internet Mail Extensions) 数据:
$ file -i Car.java
$ file -i CarDriver.java
在 Linux 中查看文件的编码
iconv 工具的使用方法如下:
$ iconv option
$ iconv options -f from-encoding -t to-encoding inputfile(s) -o outputfile
在这里,-f 或 --from-code 表明了输入编码,而 -t 或 --to-encoding 指定了输出编码。
为了列出所有已有编码的字符集,你可以使用以下命令:
$ iconv -l
列出所有已有编码字符集。下面的命令将会将 ISO-8859-1 编码转换为 UTF-8 编码。
在运行 iconv 命令之后,我们可以像下面这样检查输出文件的内容,和它使用的字符编码。
$ file -i input.file
$ cat input.file
$ iconv -f ISO-8859-1 -t UTF-8//TRANSLIT input.file -o out.file
$ cat out.file
$ file -i out.file
在 Linux 中将 ISO-8859-1 转化为 UTF-8
注意:如果输出编码后面添加了 //IGNORE 字符串,那些不能被转换的字符将不会被转换,并且在转换后,程序会显示一条错误信息。
好,如果字符串 //TRANSLIT 被添加到了上面例子中的输出编码之后 (UTF-8//TRANSLIT),待转换的字符会尽量采用形译原则。也就是说,如果某个字符在输出编码方案中不能被表示的话,它将会被替换为一个形状比较相似的字符。
Ⅷ linux 怎么检测文件名的编码格式
首先我们打开系统并使用root账户登录系统。然后使用命令“file -i /opt/test.log”来查看test.log的文件编码格式。具体展示如下图所示。
下面我们介绍命令iconv的命令的用法,首先我们查看帮助文档。执行命令“iconv --help”查看帮助文档。具体如下图所示。
下面详细介绍各个参数的含义。
-f encoding 表示原始文件的字符编码。
-t encoding 表示输出文件的字符编码。
-l 表示列举所有已知的字符集。
-c 表示从输出中忽略无效的字符
-o filename 表示输出文件
-s 表示关闭警告。
--verbose 表示显示进度信息。
下面我们执行命令“iconv -l”查看支持的所有的字符编码格式。具体展示如下图所示。
下面我们简单用下如何转换,将上面我们查看的test.log的字符编码转化为UTF-8编码,并且重新输出到test1.log。我们使用命令“iconv test.log -f iso-8859-1 -t UTF-8 -o test1.log --verbose”具体展示如下图所示。
最后我们验证转化后的test1.log的字符编码。我们执行命令"file -i /opt/test1.log"查看字符编码,可以看到已经转化为utf-8了。
Ⅸ 如何查看字符编码类型
一般来说要局配告对字符编码格式进行判断就是根据各种编码两个字节的起止范围作判断,如果符合起止范围就认为是某种字符编码。但理论上来说不同的字符编码有可能会采用同样的字节范围,所以这种方法并不能完全把某个双字节字符对应到唯一的一种编码格式上(所以说如果大家都用
utf-8 ,整个世界就清静了)。这种伴随着计算机发展而衍生出来的各种双字节语言字符编码只能是尽量想办法处理,但难有完美解决方案。
CnCharsetChecker.Java 源代码:
publicclassCnCharsetChecker{
/*SupportforChinese(GB2312)characters*/
//#defineisgb2312head(c)(0xa1<=(uchar)(c)&&(uchar)(c)<=0xf7)
//#defineisgb2312tail(c)(0xa1<=(uchar)(c)&&(uchar)(c)<=0xfe)
publicstaticbooleanisGB2312(bytehead,bytetail){
intiHead=head&0xff;
intiTail=tail&0xff;
return((iHead>=0xa1&&iHead<=0xf7&&
iTail>=0xa1&&iTail<=0xfe)?true:false);
}
/*SupportforChinese(GBK)characters*/
桐明//#defineisgbkhead(c)(0x81<=(uchar)(c)&&(uchar)(c)<=0xfe)
//#defineisgbktail(c)((0x40<=(uchar)(c)&&(uchar)(c)<=0x7e)
//||(0x80<=(uchar)(c)&&(uchar)(c)<=0xfe))
publicstaticbooleanisGBK(bytehead,bytetail){
intiHead=head&0xff;
intiTail=tail&0xff;
return((iHead>=0x81&&iHead<=0xfe&&
(iTail>=0x40&&iTail<=0x7e||
iTail>=0x80&&iTail<=0xfe))?true:false);
}
/*SupportforChinese(BIG5)characters*/
//#defineisbig5head(c)(0xa1<=(uchar)(c)&&(uchar)(c)<=0xf9)
//#defineisbig5tail(c)((0x40<=(uchar)(c)&&(uchar)(c)<=0x7e)
//||(0xa1<=(uchar)(c)&&(uchar)(c)<=0xfe))
publicstaticbooleanisBIG5(bytehead,bytetail){
intiHead=head&0xff;
intiTail=tail&0xff;
return((iHead>=0xa1&&iHead<=0xf9&&
(iTail>=0x40&&iTail<=0x7e||
iTail>=0xa1&&iTail<=0xfe))?true:false);
}
publicstaticvoidmain(String[]args){
StringsGB="爱";
StringsGBK="爱";
StringsBIG5="稲";
byte[]sChars=null;
sChars=sGB.getBytes();
System.out.println(sGB+"is"+
CnCharsetChecker.isGB2312(sChars[0],sChars[1])+"forGB2312;"+
卖则CnCharsetChecker.isGBK(sChars[0],sChars[1])+"forGBK,"+
CnCharsetChecker.isBIG5(sChars[0],sChars[1])+"forBIG5");
sChars=sGBK.getBytes();
System.out.println(sGBK+"is"+
CnCharsetChecker.isGB2312(sChars[0],sChars[1])+"forGB2312;"+
CnCharsetChecker.isGBK(sChars[0],sChars[1])+"forGBK,"+
CnCharsetChecker.isBIG5(sChars[0],sChars[1])+"forBIG5");
sChars=sBIG5.getBytes();
System.out.println(sBIG5+"is"+
CnCharsetChecker.isGB2312(sChars[0],sChars[1])+"forGB2312;"+
CnCharsetChecker.isGBK(sChars[0],sChars[1])+"forGBK,"+
CnCharsetChecker.isBIG5(sChars[0],sChars[1])+"forBIG5");
}
}
Ⅹ 如何利用linux系统的shell判断一个字符串中是否存在特定字符串,比如要在"dhjcdghba
[echo"dhjcdghbabcjjfdjcd"|租李grepabc弊竖迟纤庆]&&COMMAND1||COMMAND2