code2str

【Tera Term マクロ言語】コマンドリファレンス

code2str 機能

[文字列操作コマンド]

ASCII コード値を文字列に変換します。

コマンドライン

code2str <strvar> <ASCII code>

機能説明

このコマンドは <ASCII code> (日本語環境では JIS X 0201) で表される ASCII コード列を文字列に変換し、それを <strvar> に格納します。

整数値が 10 進数で 1~127 の場合、ASCII コード <ASCII code> に対応する文字を文字列変数 <strvar> に格納します。
整数値が 10 進数で 128~255 の場合、JIS X 0201 コードに対応する文字を文字列変数 <strvar> に格納します。

<ASCII code> の 0 でない最上位バイトが ASCII コード列の 1 バイト目とみなします。
<ASCII code> が 0 の場合、 <strvar> には "" (空文字列) が格納されます。
文字列の最大長は 4 です。

ASCII コードについては、ASCII コード も参照してください。

パラメータの説明

指定するパラメータは以下の通りです。
パラメータパラメータ説明
<strvar>文字列ASCII コードを格納する変数名を指定します。
<ASCII code>整数ASCII コードを指定します。

対象バージョン

全てのバージョンで利用可能です。

戻り値

戻り値として以下の変数が定義されます。
変数名意味
<strvar>指定した整数(10進数または16進数)を変換した文字列

関連コマンド

種別:文字列操作Ver機能の簡易説明
0129整数値を文字列に変換する。
0133文字列を ASCII コード値に変換する。
0134文字列を整数値に変換する。

使用方法

使用例

・文字 "A" を 16 進数で変数 "str" に格納する場合
; 文字 "A" が変数 "str" に格納される。
; "A" の ASCII コードは$41。
code2str str $41
・文字列 "AB" を 16 進数で変数 "str" に格納する場合
; 文字列 "AB" が変数 "str" に格納される。
; $41 は "A" の、$42は "B" のASCII コード。
code2str str $4142
・5文字以上を指定した場合は、4文字に切り捨てられることを確認する場合
code2str str $4142434445
messagebox str 'str'
最大 4 文字


・文字列 "ABCD" を 10 進数で変数 "str" に格納する場合
code2str str 1094861636
messagebox str '1094861636'
code2str_2.png


A = 65
B = 66
C = 67
D = 68

文字の桁(位置)に応じて、8 bit を掛けてあげる必要がある。

A = 65 * 256 * 256 * 256
B = 66 * 256 * 256
C = 67 * 256
D = 68

よって、計算式は 65*256*256*256+66*256*256+67*256+68 で、変数 "str" に格納する値は 1,094,861,636 となる。

・文字列 "Z" を 10 進数で変数 "str" に格納する場合
; 文字列 "Z" が変数 "str" に格納される。
; 126 は "Z" のASCII コード (10進)。
code2str str 122
messagebox str 'str'

サンプル

サンプルマクロはありません。

備考

JIS X 0201 コードは、7 bit の ASCII コードをもとに制定した、日本独自の 8 bit 文字コードです。

0~127 までがほとんど ASCII コードで、128~255 までが JIS X 0201 での定義部分になります。
92 (16進数で 5C) は ASCII コードの範囲内で、もともとはバックスラッシュが定義されていましたが、JIS X 0201 によって \ に置換されています。
このため、日本語環境でバックスラッシュを利用するためには、工夫が必要です。

全てを厳密な表現にすると分かりにくくなるだけなので、あえて ASCII コードのみで記述する場合もあります。