字符的原始代码
在 Mathematica 中可以用
等名称或
等十六进制编码来指代特殊字符. 当 Mathematica 输出一个文件时,其默认方式就是使用这些名称或代码.
但有时对一些特殊字符使用原始码很方便,这意味着不使用特殊字符的名称或十六进制编码,而用与计算机系统或字形相应的原始模式去表示这些特殊字符.
设置字符的原始码.
当按下一个键或组合键时,计算机的操作系统就将一定位数的模式输送给 Mathematica. 这个模式在 Mathematica 中怎样翻译为一个字符将依赖于所设置的字符编码.
Mathematica 的笔记本前端对所使用的字形将自动设置合适的字符编码. 但在文本界面或通过文件等途径使用 Mathematica 时,就需要明确地设置 $CharacterEncoding.
通过对 $CharacterEncoding 指定一个合适的值,就能使 Mathematica 处理不同编辑器或操作系统所产生的原始文本.
然而应该意识到,Mathematica 中所使用的特殊字符的标准表示形式可以用于不同的计算机系统. 但涉及到原始字符编码的表示式却不能.
| "PrintableASCII" | 仅限于可显示的 ASCII 字符(默认) |
| "ASCII" | 包括控制字符的所有 ASCII 字符 |
| "ISOLatin1" | 常用的西欧语言字符 |
| "ISOLatin2" | 中欧及东欧语言字符 |
| "ISOLatin3" | 另外的欧洲语言字符(如卡泰兰、土尔其) |
| "ISOLatin4" | 其余的欧洲语言字符(如艾托尼亚、南普斯) |
| "ISOLatinCyrillic" | 英语及苏黎士语言字符 |
| "AdobeStandard" | Adobe 标准邮电码 |
| "MacintoshRoman" | Macintosh 罗马字符编码 |
| "WindowsANSI" | Windows 标准字形码 |
| "Symbol" | 符号字形编码 |
| "ZapfDingbats" | Zapf dingbats 字形编码 |
| "ShiftJIS" | 日语 shift-JIS(8 位与 16 位混用) |
| "EUC" | 扩展的 Unix 日语编码(8 位与 16 位混用) |
| "UTF-8" | Unicode 转换格式编码 |
| "Unicode" | 原始的 16 位 Unicode 模式 |
Mathematica 所支持的一些原始字符编码.
Mathematica 知道适应于不同计算机系统和不同语言的各种原始字符编码. 当指定了一种编码后,Mathematica 就可以以原始形式给出包含在这个原始编码中任何字符的编码. 但没有包含在这个编码中的字符仍按标准的 Mathematica 全名或十六进制编码给出.
当写入或读入文本文件时,Mathematica 内核可以使用您所指定的任何字符编码. 默认情况下,Put 和 PutAppend 对 Mathematica 语言文件从一个系统到另一个的可移植性产生 ASCII 表示法.
给文件

中写入一个字符串.
| Out[2]= |  |
Mathematica 支持八进制和十六进制原始字符编码. 在
编码中,所有字符由包含八进制的模式表示,而在
等编码中,一些字符就涉及到十六进制的编码.
大部分 Mathematica 支持的字符编码都将基本的 ASCII 作为一个子集. 这就可以在这些编码中按照一般方式给出Mathematica 的常用输入,可以用
和
序列指代特殊字符.
还有一些原始字符编码没有将基本的 ASCII 作为一个子集. 例如,
编码,在这种编码中,
和
的常用编码用来代表
和
.
| Out[3]= |  |
在

编码中,这些字符码被用来代表希腊字母.
| Out[4]= |  |
不同编码中字符码的处理.
这里给出
Mathematica 指定给字符的代码.
| Out[5]= |  |
对同样的字符用 Macintosh 罗马编码指定的代码.
| Out[6]= |  |
这里用 Windows 的标准编码给出了字符的代码,在这种编码中,
\[Pi] 没有代码.
| Out[7]= |  |
Mathematica 内部使用的字符代码基于Unicode. 但是,作为默认状态,Mathematica 外部总使用
或
等简单的ASCII序列去代表特殊字符. 通过让 Mathematica 使用原始
字符编码,就可以使 Mathematica 用十六进制 Unicode 形式去读写字符.