aardio 文档

com.interface.IMultiLanguage2 库模块帮助文档

com.interface.IMultiLanguage2 成员列表

IMultiLanguage2接口

com.interface.IMultiLanguage2.Create()

创建 CMultiLanguage对象并获取IMultiLanguage2

返回对象:IMultiLanguage2Object

IMultiLanguage2Object 成员列表

IMultiLanguage2Object.detectInputCodepage

检测输入数据的代码页
同一段内存数据可能是不同的编码,编码检测结果通常是不准确的,
即使是系统提供的 IMultiLanguage2 也一样,不然为什么需要 BOM 呢?
所以建议大家使用 aardio 默认就支持的 UTF-8!

IMultiLanguage2Object.detectInputCodepage(字符串,最大返回个数,选项,优选代码页)

检测输入数据的代码页
参数@1可以是任意编码的字符串或 buffer 对象,
其他参数可选

返回值是一个数组,每个数组包含一个描述代码页信息的结构体

IMultiLanguage2Object.detectInputCodepageEx()

检测输入数据库的代码页,成功直接返回数值
n参数@1可以是任意编码的字符串或 buffer 对象
同一段内存数据可能是不同的编码,编码检测结果通常是不准确的,
即使是系统提供的 IMultiLanguage2 也一样,不然为什么需要 BOM 呢?
所以建议大家使用 aardio 默认就支持的 UTF-8!

IMultiLanguage2Object.detectInputCodepageInStream(流对象,最大返回个数,选项,优选代码页)

检测输入数据的代码页
参数@1可以是任意编码 fsys.stream等任何兼容IStream接口的对象,
其他参数可选

返回值是一个数组,每个数组包含一个描述代码页信息的结构体

IMultiLanguage2Object.detectInputCodepageInStreamEx()

检测输入数据的代码页,检测输入数据库的代码页,成功直接返回数值
参数@1可以是任意编码 fsys.stream等任何兼容IStream接口的对象,

IMultiLanguage2Object.eachCodepage()

返回对象:MIMECPINFOObject

IMultiLanguage2Object.eachCodepage(flags,langId)

for( cpInfo in IMultiLanguage2Object.eachCodepage() ){
    /*遍历代码页,cpInfo为MIMECPINFO结构体*/
}

IMultiLanguage2Object.fromto

怪异模式转换文本编码,返回转换后的字符串,
如果一段文件明明是A编码,却错误地作为B编码处理甚至错误地转换为了C编码,
就称为怪异模式转换,怪异模式转换需要以同样的怪异模式才能还原。

aardio 存在特别的UTF标记可以自动避免这种怪异模式转换,
但如果你有来自于其他程序怪异模式转换导致的乱码,可使用此函数,
此函数会内部调用 string.fromto 转换,并在转换清除源字符串的 UTF 标记
转换后如果存在 UTF 标记则予以保留。

此字符串具有自动识别和修复 UTF-8 编码的作用

IMultiLanguage2Object.fromto(字符串,源编码,目标编码,...)

怪异模式转换文本编码,返回转换后的字符串,
此函数仅用于修复一些老旧软件因为怪异模式转换导致的乱码,
普通编码转换应使用 string.fromto 函数可自动避免怪异模式。

源编码与目标编码使用代码页表示,UTF8 代码页 65001,
如果源字符串是 UTF-8 字符串,而源编码参数不是 65001,
此函数会先将字符串自 UTF-8 转换为源编码,再转换为目标编码,

如果目标编码不是 65001,但实际转换结果却是 UTF-8 字符串,
此函数会自动修复字符串为 UTF-8 字符串,
可指定任意个数的目标编码,上一个目标编码是下一个转换源编码,
目标编码为负数则不转换到该编码,并以该编码为源编码做下一次转换

IMultiLanguage2Object.getCodePageDescription(codepage,lcid)

返回代码页描述文本,
参数@1指定代码页,可选用参数@2指定语言ID

IMultiLanguage2Object.getCodePageInfo()

返回对象:MIMECPINFOObject

IMultiLanguage2Object.getCodePageInfo(codepage,lcid)

返回代码页的详细信息,
参数@1指定代码页,可选用参数@2指定语言ID

MIMECPINFOObject 成员列表

MIMECPINFOObject.bGDICharset

GDI 字符集代码
参考标准库 gdi 中 _CHARSET 后缀的常量

MIMECPINFOObject.bodyCharset

默认字符集

MIMECPINFOObject.description

描述

MIMECPINFOObject.fixedWidthFont

默认等宽字体

MIMECPINFOObject.flags

MIMECONTF 选项

MIMECPINFOObject.headerCharset

邮件头默认字符集

MIMECPINFOObject.proportionalFont

默认字体

MIMECPINFOObject.uiCodePage

代码页

MIMECPINFOObject.uiFamilyCodePage

共享代码页

MIMECPINFOObject.webCharset

浏览器默认字符集

自动完成常量

_MIMECONTF_BROWSER=2
_MIMECONTF_EXPORT=0x400
_MIMECONTF_IMPORT=8
_MIMECONTF_MAILNEWS=1
_MIMECONTF_MIME_IE4=0x10000000
_MIMECONTF_MIME_LATEST=0x20000000
_MIMECONTF_MIME_REGISTRY=0x40000000
_MIMECONTF_MINIMAL=4
_MIMECONTF_PRIVCONVERTER=0x10000
_MIMECONTF_SAVABLE_BROWSER=0x200
_MIMECONTF_SAVABLE_MAILNEWS=0x100
_MIMECONTF_VALID=0x20000
_MIMECONTF_VALID_NLS=0x40000

Markdown 格式