文字コード
文字と文字コードの変換法
文字列を構成するテキスト文字や記号には,
Mathematica 内部で固有の文字コードが割り当てられる.内部ではこの文字コードをもとに文字列の操作処理が行われる.
文字列を構成する文字成分のそれぞれの文字コードを列挙させる.
| Out[1]= |  |
|
| Out[2]= |  |
|
特殊文字や記号にも固有の文字コードが割り当てられている.いくつかの例を見てみる.
| Out[3]= |  |
|
連番文字の生成
英語の小文字アルファベットの a〜 kの連番部分を列挙させる.
| Out[4]= |  |
|
| Out[5]= |  |
|
特殊文字や記号の多くは
\[Alpha]の形の英語読みの名前が割り当てられているので,英語名を使っていつでも参照できる.文字コードをわざわざ使う必要はない.
文字コードの直接参照で,特殊文字と記号を使い文字列を作る.
| Out[6]= |  |
|
使った特殊文字に対応する英語名を確認してみる.上の例の文字コードの代りに,これらの英語名を入力に使ってもよい.
Out[7]//InputForm= |
| |  |
|
Mathematica では,数学で使う標準的な特殊文字や記号とヨーロッパの標準的な言語の文字セットにも登録済みの名前が用意されている.日本語文字セットもサポートされているが,3,000以上の文字があるため明示的な名前は割り当てられていない.このため,漢字等の参照には文字コードを使う必要がある.
| Out[8]= |  |
|
InputFormでは,これらの文字は標準文字コードで参照される.標準文字コードは16進法で記述されることに注意.
Out[9]//InputForm= |
| |  |
|
ノートブック用フロントエンドにおいて特定のフォントで文字を入力した場合,文字コードが自動的に使われるようになっている.
しかし,用途によっては,直接文字コードを入力した方が便利なときがある.
| \0 | 空文字(コード0) |
| \.nn | 16進法表記の文字(1バイト文字,コード nn ) |
| \:nnnn | 16進法表記の文字(2バイト文字,コード nnnn ) |
文字コード参照による文字指定
文字コードが256より小さい1バイトのものであれば
\.nn の文字指定の書式が使える.それ以上の値を持つ2バイトの文字コードは書式
\:nnnn を使わなければいけない.いずれの書式を使うにしても,指定桁数のすべてを入力する必要があり,文字コードの値が小さすぎて上位の桁が空になってしまうときは0を補っておく.
文字列にある文字と記号を16進法の文字コードに変換する.
Out[10]//BaseForm= |
| |  |
|
文字コードを文字列に変換する.  の文字コードにおいて最上位桁の0に注目.
| Out[11]= |  |
|
Mathematica の使う文字コードの割当ては,3つのともに互換な標準文字コードの規格に準拠している.その規格とはASCIIとISO Latin-1,そして,Unicode規格である.ASCII規格は英語キーボードの文字と記号の文字コード範囲を定義し,また,ISO Latin-1規格はヨーロッパの言語で使う特殊文字の範囲を定義する.Unicode規格は前者の規格をさらに一般化し,欧州以外の漢字等の文字セットも定義している.
| 0 - 127 (\.00 - \.7f) | ASCII領域 |
| 1 - 31 (\.01 - \.1f) | ASCII制御文字 |
| 32 - 126 (\.20 - \.7e) | ASCII印字可能文字 |
| 97 - 122 (\.61 - \.7a) | 英語アルファベット小文字 |
| 129 - 255 (\.81 - \.ff) | ISO Latin-1領域 |
| 192 - 255 (\.c0 - \.ff) | ヨーロッパ言語の文字セット |
| 0 - 59391 (\:0000 - \:e7ff) | Unicodeパブリック領域 |
913 - 1009 (\:0391 - \:03f1)
| ギリシャ文字セット |
12288 - 35839 (\:3000 - \:8bff)
| 中国語,日本語,韓国語の文字セット |
8450 - 8504 (\:2102 - \:2138)
| 数学記述で使う特殊文字 |
8592 - 8677 (\:2190 - \:21e5)
| 矢印記号 |
8704 - 8945 (\:2200 - \:22f1)
| 数学記述で使う演算記号 |
64256 - 64300 (\:fb00 - \:fb2c)
| Mathematica 専用のUnicodeプライベート領域 |
Mathematicaの提供する代表的な文字セットと文字コードの対応表
| Out[12]= |  |
|
ISO Latin-1規格の文字セットを表示する.
| Out[13]= |  |
|
数学で使う特殊文字を列挙させる.空のボックスで表示されている文字は,現行のフォントに含まれていない.
| Out[14]= |  |
|
| Out[15]= |  |
|