Len*_*ran 1 unicode fonts character-encoding tamil
我将大量文本从另一个系统复制到我的电脑上.当我在PC上查看文本时,看起来很奇怪.所以我从其他PC上复制了所有字体并将它们安装在我的中.现在文本看起来还不错,但实际上它似乎不是Unicode.例如,如果我复制文本并粘贴到另一个支持UTF-8的编辑器(如Notepad ++),我会得到英文字符("bgah;"),如下所示.

如何将整个文本转换为unicode文本,如下所示.所以我可以复制文本并粘贴到其他地方.
பெயர்
上述文字是使用http://www.google.com/transliterate/indic/Tamil手动获取的
我需要完成这个转换,所以我可以将它们复制到数据库表中.
'Ja-01'是一种带有自定义'可视编码'的字体.
也就是说,字符序列确实是"bgah"; 它看起来像泰米尔语,因为拉丁字符的字体形状bg看起来像??.
这总是要避免,因为将内容存储为"bgah;" 你失去了搜索和处理它作为真正的泰米尔语的能力,但这种方法在前Unicode时代很常见,特别是对于没有成熟编码标准的不太广泛的脚本.该应用可能早于TSCII的广泛使用.
由于它是一种不由任何其他字体共享的自定义编码,因此您很可能无法找到将此编码内容转换为正确Unicode字符的工具.它似乎不是任何标准字符排序,因此您必须查看字体(例如在charmap.exe中)并记下每个字符,找到Unicode中的匹配字符并在它们之间进行映射.
例如,这是一个简单的Python脚本来替换文件中的字符:
mapping= {
u'a': u'\u0BAF', # Tamil letter Ya
u'b': u'\u0BAA', # Tamil letter Pa
u'g': u'\u0BC6', # Tamil vowel sign E (combining)
u'h': u'\u0BB0', # Tamil letter Ra
u';': u'\u0BCD', # Tamil sign virama (combining)
# fill in the rest of the mapping information here!
}
with open('ja01data.txt', 'rb') as fp:
data= fp.read().decode('utf-8')
for char in mapping:
data= data.replace(char, mapping[char])
with open('utf8data.txt', 'wb') as fp:
fp.write(data.encode('utf-8'))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4456 次 |
| 最近记录: |