我正在更新一些适用于各种旧版(Unicode前)文本编码的旧代码。这些编码通常具有指示双字节字符开头的某些字节,而其他字符(通常是ASCII集)表示只有一个字节的字符。
在Mac上,旧代码使用FillParseTable API(来自Script.h)来获取一个表,其中的字节表示两个字节字符的开头。但是该API已被弃用了一段时间,并且很快就会消失。所以我们需要用其他东西替换它。标题说“请使用CFString,UCGetCharProperty和CFCharacterSet的组合。”
但我无法弄清楚这些事情的任何组合如何影响FillParseTable。我正在看Macjapanese中的字节流,我看到0x93;是一个字符本身,还是一个双字节字符的开头?事实上它是后者,但我不知道CoreFoundation(或Cocoa)如何告诉我。
有人能给我一个正确方向的推动吗?