Unicode到8位字符集转写编解码器
项目描述
使用较小的编码字符集(ASCII、ISO 8859等)进行尽力而为的表示。编解码器使用的转换表来自Markus Kuhn的transtab集合。
提供了三种类型的转写编解码器
- “长”,使用尽可能多的字符来制作自然
替换。例如,u00e4 LATIN SMALL LETTER A WITH DIAERESIS ä 将被替换为 ae。
“短”,使用最少的字符来制作替换。例如,u00e4 LATIN SMALL LETTER A WITH DIAERESIS ä 将被替换为 a。
“单一”,只执行单字符替换。无法用单字符转写的字符将保持不变。例如,u2639 WHITE FROWNING FACE ☹ 将保持不变。
使用编解码器很简单
>>> import translitcodec >>> import codecs >>> codecs.encode('fácil € ☺', 'translit/long') 'facil EUR :-)' >>> codecs.encode('fácil € ☺', 'translit/short') 'facil E :-)'
编解码器默认返回Unicode。要返回字节字符串,可以将encode()的输出链接到另一个编解码器,或者将所需的字节编码名称附加到编解码器名称上。
>>> codecs.encode('fácil € ☺', 'translit/one').encode('ascii', 'replace') 'facil E ?' >>> 'fácil € ☺'.encode('translit/one/ascii', 'replace') 'facil E ?'
该软件包还提供了一个“transliterate”编解码器,它是“translit/long”的别名。
使用库的另一种方法是使用错误处理。错误处理程序可用
‘strict/translit/long’,‘strict/translit/short’,‘strict/translit/one’ - 类似于‘strict’
‘ignore/translit/long’,‘ignore/translit/short’,‘ignore/translit/one’ - 类似于‘ignore’
‘replace/translit/long’,‘replace/translit/short’,‘replace/translit/one’ - 类似于‘replace’
上述错误处理程序的工作方式与Python内置的错误处理程序类似。区别在于首先尝试转写。
>>> codecs.encode('Zażółć gęślą jaźń € ☺另!@#', 'ISO-8859-2', 'replace/translit/long').decode('ISO-8859-2') 'Zażółć gęślą jaźń EUR :-)?!@#' >>> codecs.encode('Zażółć gęślą jaźń € ☺另!@#', 'ISO-8859-2', 'replace/translit/short').decode('ISO-8859-2') 'Zażółć gęślą jaźń E :-)?!@#' >>> codecs.encode('Zażółć gęślą jaźń € ☺另!@#', 'ISO-8859-2', 'replace/translit/one').decode('ISO-8859-2') 'Zażółć gęślą jaźń E ??!@#' >>> codecs.encode('Zażółć gęślą jaźń € ☺另!@#', 'ISO-8859-2', 'ignore/translit/long').decode('ISO-8859-2') 'Zażółć gęślą jaźń EUR :-)!@#' >>> codecs.encode('Zażółć gęślą jaźń € ☺另!@#', 'ISO-8859-2', 'ignore/translit/short').decode('ISO-8859-2') 'Zażółć gęślą jaźń E :-)!@#' >>> codecs.encode('Zażółć gęślą jaźń € ☺另!@#', 'ISO-8859-2', 'ignore/translit/one').decode('ISO-8859-2') 'Zażółć gęślą jaźń E !@#'
translitcodec 更新
0.7.0
发布于2021年5月8日
添加了对错误处理的支持
修复了德语eszett字符的转换
0.6.0
发布于2020年12月13日
添加了对Python 3.9的支持
0.5.2
发布于2020年1月19日
使用setuptools安装软件包
0.5.1
发布于2020年1月19日
添加python_requires以防止与Python 2软件包一起安装
0.5
发布于2020年1月18日
完全覆盖越南字母表
移除了对Python 2的支持
0.4
发布于2015年5月11日
添加了Python 3兼容性
0.3
发布于2011年2月14日
对transtab表重建工具的修复。
添加了translitcodec.__version__
0.2
发布于2011年1月27日
解决了编码空白值(例如:N{ZERO WIDTH SPACE} u200B)时出现的“TypeError:字符映射必须返回整数、None或unicode”问题。现在返回Unicode空白。
ASCII范围内的字符不再包含在翻译表中。
0.1
发布于2008年12月28日
初始打包发布。
项目详情
translitcodec-0.7.0.tar.gz 哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3be7975c630ec0f1dd5b3712160c991a9776132985aed2588cba083ba00fa3c8 |
|
MD5 | a9699192bcc25bc5248e375703e28309 |
|
BLAKE2b-256 | f128c0dbcc80648da7639b1dd3df95e8cc84c40407093d84a28234950dc740c4 |