关于中文、日文同形字的编码比较问题

2014-01-09 19:24:54 +08:00
 hhrmatata
中文和日文中有很多相同的文字,虽然读音不一样,但是书写是一样的。我很好奇在utf-8中的编码是否一样,于是写了几行Python代码验证了一下:

--------------------------------------------------------------------------------------------
#coding=utf-8

j = u"最近の更新" #从维基百科日本站粘贴到编辑器
c = u"最近的更新" #自己手动输入

print repr(j.encode('utf-8'))
print repr(c.encode('utf-8'))

输出:
'\xe6\x9c\x80\xe8\xbf\x91\xe3\x81\xae\xe6\x9b\xb4\xe6\x96\xb0'
'\xe6\x9c\x80\xe8\xbf\x91\xe7\x9a\x84\xe6\x9b\xb4\xe6\x96\xb0'

--------------------------------------------------------------------------------------------
惊奇的发现同形字编码一样。
想问下,是我实验有问题,还是结论就是这样?
3964 次点击
所在节点    程序员
9 条回复
vibbow
2014-01-09 19:28:38 +08:00
是的,有些日文和中文字看起来比较相似的,UTF-8编码也是一样的
具体显示时是用日文字体还是中文字体,就根据你的系统语言首选项了
(反正如果首选项是英文的话,用的是日文字体)
ichigo
2014-01-09 19:36:13 +08:00
很多汉字写法还是有细微差别的,编码应该不同吧。
Semidio
2014-01-09 19:45:28 +08:00
unicode是一套通用字符编码集,它不可能给同一个字符多个不同的编码,即使这个字符在多种语言中被使用。其实不只是unicode,绝大多数字符编码都只按字形,同形字全部同编码,只有极少数编码格式严格按照字音给同形字多个编码。
Semidio
2014-01-09 19:46:03 +08:00
@ichigo 有的是异体字,有的则只是字体区别
Semidio
2014-01-09 19:49:05 +08:00
@ichigo unicode关于同形字的处理,如果是在不同语言环境下,即使写法不同依然同编码,但是如果是同一语言环境,则视为异体字,给予不同编码。至于这些同编码的同形字在写法上的区别则只能靠字体来体现。
hhrmatata
2014-01-09 19:59:03 +08:00
@vibbow
@Semidio 谢了,应该就是你们说的这样吧。同行字共享一个编码。刚好实验也证明了。
exoticknight
2014-01-09 20:06:10 +08:00
感谢楼主,之前也是有这样的疑问
VYSE
2014-01-10 00:28:35 +08:00
尼玛这才意识到UTF-8 ENCODE亚洲字符好长好低效啊!!
看看人家j.encode('utf-16')
hanliinter
2014-01-11 01:25:35 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/96337

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX