字符的原始代码

在 Wolfram 语言中可以用 等名称或 等十六进制编码来指代特殊字符. 当 Wolfram 语言输出一个文件时,其默认方式就是使用这些名称或代码.

但有时对一些特殊字符使用原始码很方便,这意味着不使用特殊字符的名称或十六进制编码,而用与计算机系统或字形相应的原始模式去表示这些特殊字符.

$CharacterEncoding=None对所有特殊字符使用可显示的 ASCII 名称
$CharacterEncoding="name"使用由 name 指定的字符的原始代码
$SystemCharacterEncoding特定计算机系统的默认原始字符代码

设置字符的原始码.

当按下一个键或组合键时,计算机的操作系统就将一定位数的模式输送给 Wolfram 语言. 这个模式在 Wolfram 语言中怎样翻译为一个字符将依赖于所设置的字符编码.

Wolfram 语言的笔记本前端对所使用的字形将自动设置合适的字符编码. 但在文本界面或通过文件等途径使用 Wolfram 语言时,就需要明确地设置 $CharacterEncoding.

通过对 $CharacterEncoding 指定一个合适的值,就能使 Wolfram 语言处理不同编辑器或操作系统所产生的原始文本.

然而应该意识到,Wolfram 语言中所使用的特殊字符的标准表示形式可以用于不同的计算机系统. 但涉及到原始字符编码的表示式却不能.

"PrintableASCII"仅限于可显示的 ASCII 字符(默认)
"ASCII"包括控制字符的所有 ASCII 字符
"ISOLatin1"常用的西欧语言字符
"ISOLatin2"中欧及东欧语言字符
"ISOLatin3"另外的欧洲语言字符(如卡泰兰、土尔其)
"ISOLatin4"其余的欧洲语言字符(如艾托尼亚、南普斯)
"ISOLatinCyrillic"英语及苏黎士语言字符
"AdobeStandard"Adobe 标准邮电码
"MacintoshRoman"Macintosh 罗马字符编码
"WindowsANSI"Windows 标准字形码
"Symbol"符号字形编码
"ZapfDingbats"Zapf dingbats 字形编码
"ShiftJIS"日语 shiftJIS(8 位与 16 位混用)
"EUC"扩展的 Unix 日语编码(8 位与 16 位混用)
"UTF8"Unicode 转换格式编码
"Unicode"原始的 16 位 Unicode 模式

Wolfram 语言所支持的一些原始字符编码.

Mathematica 知道适应于不同计算机系统和不同语言的各种原始字符编码. 当指定了一种编码后,Wolfram 语言就可以以原始形式给出包含在这个原始编码中任何字符的编码. 但没有包含在这个编码中的字符仍按标准的 Wolfram 语言全名或十六进制编码给出.

当写入或读入文本文件时,Wolfram 语言内核可以使用您所指定的任何字符编码. 默认情况下,PutPutAppend 对 Wolfram 语言语言文件从一个系统到另一个的可移植性产生 ASCII 表示法.

给文件 中写入一个字符串.
In[1]:=
Click for copyable input
特殊字符默认地用全名或十六进制数字表示.
In[2]:=
Click for copyable input
Out[2]=

Wolfram 语言支持八进制和十六进制原始字符编码. 在 编码中,所有字符由包含八进制的模式表示,而在 等编码中,一些字符就涉及到十六进制的编码.

大部分 Wolfram 语言支持的字符编码都将基本的 ASCII 作为一个子集. 这就可以在这些编码中按照一般方式给出Wolfram 语言的常用输入,可以用 序列指代特殊字符.

还有一些原始字符编码没有将基本的 ASCII 作为一个子集. 例如, 编码,在这种编码中, 的常用编码用来代表 .

这里给出了一些英文字母的 ASCII 字符码.
In[3]:=
Click for copyable input
Out[3]=
编码中,这些字符码被用来代表希腊字母.
In[4]:=
Click for copyable input
Out[4]=
ToCharacterCode["string"]用标准 Wolfram 语言编码产生字符码
ToCharacterCode["string","encoding"]用指定的编码产生字符码
FromCharacterCode[{n1,n2,}]从 Wolfram 语言的标准代码产生字符
FromCharacterCode[{n1,n2,},"encoding"]
用指定的编码产生字符

不同编码中字符码的处理.

这里给出 Wolfram 语言指定给字符的代码.
In[5]:=
Click for copyable input
Out[5]=
对同样的字符用 Macintosh 罗马编码指定的代码.
In[6]:=
Click for copyable input
Out[6]=
这里用 Windows 的标准编码给出了字符的代码,在这种编码中,[Pi] 没有代码.
In[7]:=
Click for copyable input
Out[7]=

Wolfram 语言内部使用的字符代码基于 Unicode. 但是,作为默认状态,Wolfram 语言外部总使用 等简单的ASCII序列去代表特殊字符. 通过让 Wolfram 语言使用原始 字符编码,就可以使 Wolfram 语言用十六进制 Unicode 形式去读写字符.