名前
encoding - コード変換を操作する
概要
encoding option ?arg arg ...?
序論
説明
encoding convertfrom ?encoding? data
encoding convertto ?encoding? string
encoding names
encoding system ?encoding?
こちらも見よ
キーワード

名前

encoding - コード変換を操作する

概要

encoding option ?arg arg ...?

序論

 Tclの中の文字列は16ビットのUnicode文字を使用してコード化される。異なるオペレーティング・システムのインターフェースあるいはアプリケーションは、シフトJISのような他のコードの文字列を生成することができる。encodingコマンドは、Unicodeと他のフォーマットの間のギャップを埋めることに役立つ。

説明

 optionによって、コード変換に関連するいくつかのオペレーションの1つを実行する。正式なoptionは次のとおり:

encoding convertfrom ?encoding? data
 dataを指定されたencodingからUnicodeに変換する。data中の文字は、各文字の下位8ビットが単一バイトとして取られる場合、バイナリデータとして扱われる。バイトの結果として生じる並びは、指定されたencodingの文字列として扱われる。encodingが指定されない場合、現行システムのencodingが使用される。

encoding convertto ?encoding? string
 Unicodeから指定されたencodingstringを変換する。結果は変換された文字列を表わすバイトの並びである。各バイトは、Unicode文字の下位8ビットで格納される。encodingが指定されない場合、現行システムのencodingが使用される。

encoding names
 現在利用可能なencodingのすべての名前を含むリストを返す。

encoding system ?encoding?
 システムのencodingをencodingにセットする。encodingが省略されるなら、コマンドは現行システムのencodingを返す。Tclが文字列をシステムコールへ渡す場合は常に、システムのencodingが使用される。

 euc-jpコードを出力するテキストエディタでスクリプトファイルを書くのは普通の習慣である。euc-jpコードはASCII文字を1バイトで、日本の文字を2バイトで表現するからである。これは、スクリプト中の適所に文字列を単にタイプすることにより、非ASCII文字に対応するリテラル文字列を埋め込むことを容易にする。しかしながら、sourceコマンドは常にISO8859-1コードを使用してファイルを読むので、TclはUnicodeの00ページにマップした分離した文字としてファイル中の各バイトを扱う。結果として生じるTcl文字列は期待される日本文字を含まないだろう。その代わりに、それらはオリジナルの文字列のバイトに対応するLatin-1文字の並びを含むだろう。encodingコマンドはこの文字列を期待される日本のUnicode文字に変換するために使用することができる。例えば、
set s [encoding convertfrom euc-jp "\xA4\xCF"]
は、Unicode文字列"\u306F"を返す。それは平仮名文字「は」である。

こちらも見よ

Tcl_GetEncoding

キーワード

encoding
Copyright © 1998 by Scriptics Corporation.
Copyright © 1995-1997 Roger E. Critchlow Jr.