外部文字コードの使用
Mathematica で特殊文字や記号を入力するには,英語名で参照する方法と,文字コードで参照する方法が使える.例えば,
を入力するには,
か
をタイプする.Mathematica から文字列等をファイルに落とすときも,特に指定がなければ,これら2つの書式のどちらかが使われる.
特殊文字と記号によっては,Mathematica 内部で使う専用文字コード規格ではなく,従来規格の文字コードで指定した方が手っ取り早いときもあるだろう.つまり,Mathematica デフォルトの英語名や専用16進数文字コードを使うのではなく,オペレーティングシステムの環境およびフォント別に定義してある外部文字コード規格を使うということである.
外部文字コード規格の使用
外部文字コードとは,例えば,キーボードのキーを押したときにオペレーティングシステムから送られてくる生の文字コードのことである.コードの値はそのときに使われている文字コード規格による.
ノートブック用フロントエンドを使っている場合,使っているフォントにより自動的に適切な文字規格が選択されるのでユーザが設定変更する必要はない.テキスト用フロントエンドを使っている場合やファイル処理またはパイプ処理をしている場合,自動設定は行われないので必要ならば$CharacterEncodingを使い設定を手動で変更する.
$CharacterEncodingの機能で適当な規格を指定しておけば,文字コードに依存するテキストエディタやオペレーティングシステムの直接生成する生のテキスト等が直接処理できるようになる.
Mathematica 専用の文字コード規格で特殊文字と記号を記述してあれば,オペレーティングシステム環境に関係なく Mathematica で読む限りは確実に文字と記号を再現できる.外部規格を使う場合はこの限りではない.
| "PrintableASCII" | 印字可能なASCII文字 |
| "ASCII" | 制御コードも含むASCII |
| "ISOLatin1" | 西ヨーロッパ言語の文字 |
| "ISOLatin2" | 中東部ヨーロッパ言語の文字 |
| "ISOLatin3" | 第1ヨーロッパ言語文字補助セット(カタロニア語,トルコ語等) |
| "ISOLatin4" | 第2ヨーロッパ言語文字補助セット(エストニア語,グリーンランド語等) |
| "ISOLatinCyrillic" | 英語・キリル文字セット |
| "AdobeStandard" | PostScriptフォント用Adobe文字コード規格 |
| "MacintoshRoman" | Macintoshローマンフォント用文字コード規格 |
| "WindowsANSI" | Windowsフォント用文字コード規格 |
| "Symbol" | 記号フォント用文字コード規格 |
| "ZapfDingbats" | Zapf dingbats文字コード規格 |
| "ShiftJIS" | シフトJIS日本語文字コード規格(8,16ビットコード混在) |
| "EUC" | 拡張Unix日本語文字コード規格(8,16ビットコード混在) |
| "UTF-8" | Unicode規格(UTF-8形式) |
| "Unicode" | 16ビットUnicode規格(ビットパターン) |
Mathematica で扱える外部文字コード規格の一覧
どの外部文字コード規格が適切かといった指定はオペレーティングシステムの環境設定や使用言語に応じて Mathematica 内部で設定済みである.Mathematica ノートブックインターフェースとコンピュータ上のユーザインターフェース環境との間で文字をコピーするには,通常その環境にネイティブの文字コード規格が使われる.ネイティブのコード規格に含まれていない Mathematica 文字は Mathematica 専用規格の英語名もしくは16進数コードで記述される.
Mathematica カーネルは,テキストファイルを書いたり読んだりするときに,指定されたどのような文字コード規格も使うことができる.デフォルトでは,PutとPutAppendにより,Mathematica 言語ファイルを1つのシステムから別のシステムへと確実に移植するためのASCII表現が生成される.
ファイル

に文字列を書き出してみる.
特殊文字は,デフォルトで英語名または明示的な16進数コードで記述される.
| Out[2]= |  |
Mathematica のサポートする外部文字コード規格には1バイト(8ビット長)と2バイト(16ビット長)がある.
等の規格は1バイト文字だけで構成されるが,
は2バイト文字が主体になっている.
Mathematica のサポートする外部文字コード規格において,そのほとんどはASCII規格を取り込んだ形で定義されている.したがって,それらの外部規格を使う限りは,文字列
と
を使った特殊文字の指定が有効である.
ASCII規格に準拠していない文字コード規格には,例えば,
で指定される記号文字コード規格がある.この文字コード規格では,ASCIIアルファベットの
はギリシャ文字
になり,
は
になる.
英語アルファベットのいくつかをASCIIコード列挙する.
| Out[3]= |  |
同じ文字コードを

規格で見ると,ギリシャ文字として扱われていることが分かる.
| Out[4]= |  |
内部および外部文字コード規格を使った文字と文字コードの変換
文字や記号に対応した
Mathematica 内部規格の文字コードを列挙させる.
| Out[5]= |  |
| Out[6]= |  |
Windowsの文字コードはどうであろうか.Windowsのローマン規格には
\[Pi]はマップされていないことが分かる.
| Out[7]= |  |
Mathematica 内部で使う文字規格はUnicodeに準拠している.ただ,外部とのやり取りでは,通常,ASCIIコードだけが使われる.特殊文字や記号も,
と
の書式に基づいたASCII記述が使われる.また,
をあらかじめ指定しておけば,ファイルをUnicode準拠のテキスト(2バイト文字)として読み込ませることは可能である.