python3 unicode_在Python中正确使用Unicode
正确处理文本,特别是正确处理Unicode。是个老生常谈的问题,有时甚至会难倒经验丰富的开发者。并不是因为这个问题很难,而是因为对软件中的文本,开发者没有正确理解一些关键概念及其表示方法。在StackOverflow上搜索关于UnicodeDecodeError 相关的问题,可以看到很多人都有这样的误解。这些错误的概念可以追溯到Unicode出现之前。那时许多现今的开发者还没入职,也包括我自己。如果这些错误的概念没有散布开来,其实不是个问题。现在很多人都有这些错误概念,部分原因是因为有些非常流行的语言传播,甚至固化了这些错误概念,使得纠正起来反而变得很困难。
根据对Unicode的支持情况,编程语言可以划分为4类:在Unicode出现或流行之前编写的语言。C和C++就属于这一类。这类语言对unicode的支持参差不齐。或没有内置到语言中,或很难正确的使用。因此开发者常常会用错。
对Unicode支持稍好一点。这些语言在Unicode广泛流行后才出现的,但语言中对unicode的操作方式是严重错误的。虽然这些语言诞生较晚,但依然含有第一类语言中的所有缺点。以我的经验,其中代表语言就是PHP。尽管还有其他语言也同样糟糕。
对Unicode支持基本正确,但有少数致命缺点的语言。这一类语言比较“现代”,且能理解Unicode,但依然无法让开发者正确的处理unicode,导致在这些语言中对unicode会出现一些严重不足。让我很沮丧的是,Python 2.x就属于这一类(下文会详细介绍)。
能正确处理Unicode的语言。这些语言完全支持Unicode,可以用Unicode方便快速的完成任务,且不易出错。Java和.NET平台就属于这一类语言。
那么,Unicode到底是什么,我们在Unicode上犯了哪
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
