Scintilla支持Unicode? SCI_GETCHARAT怎么样?

时间:2011-05-29 17:03:17

标签: unicode scintilla

Scintilla真的支持Unicode吗?如果是,为什么SCI_GETCHARAT会返回char值(已投放到LRESULT)?

2 个答案:

答案 0 :(得分:4)

来自SCI_SETCODEPAGE docs ...

  

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

您必须检查使用SCI_GETCHARAT(pos)检索的字节,并根据其顶部位读取SCI_GETCHARAT(pos + 1)以及更高版本以获取Unicode代码点。 (见here。)

修改

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

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

答案 1 :(得分:2)

我很久以前但是如果我记得很清楚Scintilla不是原生的Unicode应用程序。它还有一些 Unicode支持。

首先,函数名称应为SCI_GETBYTEAT,因为它从UTF-8内部缓冲区返回一个字节。

此外,该应用程序具有对keybaord的Unicode支持,因此它具有一些Unicode支持:)