Scintilla真的支持Unicode吗?如果是这样,为什么SCI_GETCHARAT返回一个char值(转换为LRESULT)?
代码页 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
| 归档时间: |
|
| 查看次数: |
1450 次 |
| 最近记录: |