Unicode编码笔记

@2013-03-01

Unicode, UTF-8, ANSI是三个我最常接触到的编码,特别是文本文件。

Mathematica默认的应用于Import的编码是UTF-8的。CharacterEncoding默认是CP936和CP949


Unicode编码笔记_1.png

Unicode编码笔记_2.png

百度百科

unicode百度百科

Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。随着计算机工作能力的增强,Unicode也在面世以来的十多年里得到普及。

Mathematica


Unicode编码笔记_3.png

Unicode编码笔记_4.png


Unicode编码笔记_5.png

Unicode编码笔记_6.png

UTF-8以字节为单位对Unicode进行编码。

我们看到,IE浏览器的编码设置里它们是一起的。

Unicode编码笔记_7.png

我们在搜索地址栏搜索的时候,会发现中文经常会变成这样子。比如·汉·字变成了。

%E6%B1%89


Unicode编码笔记_8.png


Unicode编码笔记_9.png

Unicode编码笔记_10.png


Unicode编码笔记_11.png


Unicode编码笔记_12.png

Unicode编码笔记_13.png

·汉·的这个结果跟之前ToString的结果是一样的,只是小写变成了大写。

在IE11地址栏中输入·汉·,会自动变成如下

http://www.baidu.com/s?tn=mswin_oem_dg&ie=utf-8&word=%E6%B1%89

在谷歌浏览器地址栏中输入·汉·,则会显示

http://www.baidu.com/s?ie=UTF-8&wd=汉

而复制到Mathematica笔记本的文本单元,又自动转换成

http://www.baidu.com/s?ie=UTF-8&wd=%E6%B1%89

现在我们做一个小应用,用Mathematica查询一个百度词典和百度搜索的结果。

百度词典


Unicode编码笔记_14.png


Unicode编码笔记_15.png

Unicode编码笔记_16.png

然而,实际上我之前多此一举了,在这里没有必要转成16进制的,直接用中文即可。


Unicode编码笔记_17.png

Unicode编码笔记_18.png

www.baidu.com


Unicode编码笔记_19.png

Unicode编码笔记_20.png

使用URLFetch可以返回结果,URLFetch还是给力的,可以传登录密码啥的,比如获取维基百科的收藏夹。

Tex

比如另存为Mathematica含中文的文档,其中中文会变成如下的形式


Unicode编码笔记_21.png

Unicode编码笔记_22.png

如何变回中文显示在Mathematica中呢?


Unicode编码笔记_23.png

Unicode编码笔记_24.png


Unicode编码笔记_25.png

Unicode编码笔记_26.png


Unicode编码笔记_27.png

对于连续的这样的字符串,使用ToExpression即可


Unicode编码笔记_28.png

Unicode编码笔记_29.png


Unicode编码笔记_30.png

Unicode编码笔记_31.png

Unicode编码笔记_32.png

因为整个字符串并不够成好的表达式的字符串,因此才要提取相应的部分转换

待更新