如何获取汉字的笔画数?

Cha*_*gUZ 5 iphone cjk nsstring ios

如何获取汉字的笔画数?

\n\n

示例>

\n\n

\xe4\xb8\x80 => 1

\n\n

\xe5\x8d\x81 => 2

\n\n

\xe6\x97\xa5 => 4

\n

Jon*_*pan 4

简短的回答:如果没有字符到笔画计数的硬编码映射,您就无法做到这一点。然后,您必须假设用户正在使用特定的中文变体(例如繁体中文)。

\n\n

Unicode( 的基本字符集NSString)不区分繁体、简体、日语特定、韩语特定等汉字。Unicode 不直接对笔画信息进行编码。相反,它区分字符(而不是它们的图形表示),并且字符可能具有不同的笔画数,具体取决于所使用的语言和字体。因此,虽然字符 \xe5\x8d\x81 通常可能有两个笔划,但其他字符会有所不同。

\n\n

维基百科给出的例子是“草”字,U+8279,它在繁体中文中有四个笔画,但在其他所有变体中都有 3 个笔画。

\n