描述:
自动识别字符串或文本文件的编码。
语法:
chardetect(fn,cs)
备注:
无选项时表示对文本文件进行字符编码识别。支持UTF-8、GBK、UTF-16LE、UTF-16BE等编码。
文本文件原编码为GBK、GB2312、GB18030,统一识别为GB18030;
识别字符串或二进制值编码时,由于中(繁体)日韩字符编码范围有重复,可能存在多个编码值,默认只返回第一个编码值;有参数cs时,默认只返回cs列表中合适的的第一个编码值。fn以"http://"或"https://"开头则理解为URL页面。
有参数cs时,只返回cs列表中包含的编码值。
参数:
fn |
所要识别的字符串、二进制值、文本文件的文件名、文本文件的文件对象或url。 |
cs |
可选字符集列表,可省略。 |
选项:
@v |
fn是字符串或二进制值变量,从中取出字符集。 |
@a |
返回所有合适的字符集列表,缺省只返回第一个。 |
返回值:
编码值/编码值序列
示例:
|
A |
|
1 |
>www="http://www.baidu.com" |
|
2 |
=chardetect(www) |
UTF-8 |
3 |
=chardetect@v("abc一二三123") |
GB-2312 |
4 |
>file1="d:/UTF8.xml" |
文件编码为UTF-8 |
5 |
>file2="d:/UTF16LE.xml" |
文件编码为UTF16LE |
6 |
=chardetect(file1) |
UTF-8,参数fn为文件名称。 |
7 |
=file(file2) |
|
8 |
=chardetect(A7) |
UTF-16LE,参数fn为文件对象。 |
9 |
=chardetect@v("你好") |
GB2312
|
10 |
=chardetect@av("你好") |
返回所有合适的字符集列表:
|
11 |
=chardetect@v("你好",["Big5","CP949"]) |
Big5,返回cs列表中合适的第一个编码值。 |
12 |
=chardetect@va("你好",["Big5","CP949"]) |
回cs列表中合适的所有编码值。
|