Scintilla支持Unicode?SCI_GETCHARAT怎么样?

Meh*_*dad 6 unicode scintilla

Scintilla真的支持Unicode吗?如果是这样,为什么SCI_GETCHARAT返回一个char值(转换为LRESULT)?

Mar*_*one 4

SCI_SETCODEPAGE 文档...

代码页 SC_CP_UTF8 (65001) 将 Scintilla 设置为 Unicode 模式,并将文档视为以 UTF-8 表示的字符序列。文本在由操作系统绘制之前会转换为平台的正常 Unicode 编码,因此可以显示希伯来语、阿拉伯语、西里尔语和汉字字符。

您必须检查使用 SCI_GETCHARAT(pos) 检索的字节,并且根据该字节的最高位,可能需要读取 SCI_GETCHARAT(pos+1) 及其他字节才能获取 Unicode 代码点。(看这里。)

编辑:

对于执行此操作的一些 C++ 代码,请参见下文(搜索SciMoz::GetWCharAt):

http://vacuproj.googlecode.com/svn/trunk/npscimoz/npscimoz/oldsrc/trunk.nsSciMoz.cxx