chardetect()

阅读(3775) 标签: 识别编码, url, 二进制,

描述:

自动识别字符串或文本文件的编码。

语法:

chardetect(fn,cs)

备注:

无选项时表示对文本文件进行字符编码识别。支持UTF-8GBKUTF-16LEUTF-16BE等编码。

文本文件原编码为GBKGB2312GB18030,统一识别为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列表中合适的所有编码值。