一个符号替换多个符号时,是否存在从UTF-8到CP1251的音译?
Is there transliteration from UTF-8 to CP1251 when one symbol substitutes with several symbols?
我使用带选项 translit 的函数 iconv。
一个符号替换多个符号时,是否有UTF-8到CP1251的音译?
我在哪里可以搜索该信息?我正在使用 iconv.
有一些,具体取决于实施和语言环境:
$ echo '℀⇒½' | iconv -f UTF8 -t CP1251//TRANSLIT
a/c=> 1/2
这些分别是U+2100 ACCOUNT OF音译为a/c
,U+ 21D2 RIGHTWARDS DOUBLE ARROW 音译为=>
, U+00BDVULGAR FRACTION ONE HALF音译为1/2
(包括空格)。
我在 GNU libc 源代码中找到了这些,https://github.com/lattera/glibc/blob/master/locale/C-translit.h.in;不同的实现可能根本不会以相同的方式音译这些字符。
最明显的是
$ echo 'ß' | iconv -f UTF-8 -t CP1251//TRANSLIT
ss
此外,如果您的语言环境是德语,变音符号将根据德语规则进行音译(是的,音译取决于语言环境)。
$ export LC_ALL=de_DE.UTF-8
$ echo 'Füße' | iconv -f utf-8 -t CP1251//TRANSLIT
Fuesse
(有些版本会打印 F"usse
)。
我使用带选项 translit 的函数 iconv。
一个符号替换多个符号时,是否有UTF-8到CP1251的音译? 我在哪里可以搜索该信息?我正在使用 iconv.
有一些,具体取决于实施和语言环境:
$ echo '℀⇒½' | iconv -f UTF8 -t CP1251//TRANSLIT
a/c=> 1/2
这些分别是U+2100 ACCOUNT OF音译为a/c
,U+ 21D2 RIGHTWARDS DOUBLE ARROW 音译为=>
, U+00BDVULGAR FRACTION ONE HALF音译为1/2
(包括空格)。
我在 GNU libc 源代码中找到了这些,https://github.com/lattera/glibc/blob/master/locale/C-translit.h.in;不同的实现可能根本不会以相同的方式音译这些字符。
最明显的是
$ echo 'ß' | iconv -f UTF-8 -t CP1251//TRANSLIT
ss
此外,如果您的语言环境是德语,变音符号将根据德语规则进行音译(是的,音译取决于语言环境)。
$ export LC_ALL=de_DE.UTF-8
$ echo 'Füße' | iconv -f utf-8 -t CP1251//TRANSLIT
Fuesse
(有些版本会打印 F"usse
)。