大多数阿拉伯字母有多种上下文形式,例如后者ب
有通用的unicode 0628
。
但如果后者出现在单词的开头,则将采用بـ
统一码FE91
。
中间= ـبـ
统一码FE92
。
字结束= ـب
统一码FE90
。
我试图得到字符码,但我总是得到一般的unicode。
procedure TfMain.btn2Click(Sender: TObject);
const
Str = 'يبداء';
Ch = 'ب';
begin
ShowMessage(IntToHex(Ord(Ch), 4)); // return 0628 - Correct
ShowMessage(IntToHex(Ord(Str[2]), 4)); // return 0628 - Wrong
end;
问:我如何根据字符在单词中的位置得到正确的代码?
更多信息
(英文)(英文)
2条答案
按热度按时间ki1q1bka1#
我带着这个想法来作为现在完整的解决方案。
下面的函数将根据字符在传递的字符串中的位置,从U表中返回正确的字符。
使用/输出如下:
thtygnil2#
未完全完成。需要修复,添加一些字符作为t1ch
0621 0020“"