ASCアスキー関数

本ページには広告が含まれています。

ASC関数は、文字を文字コードに変換する関数です。引数に指定された文字に対応するUnicodeもしくはASCIIの値を返します。文字コードを文字に変換するには、CHR関数を利用します。

Unicodeの対応表はhttps://ja.m.wikipedia.org/wiki/Unicode%E4%B8%80%E8%A6%A7%E8%A1%A8、シフトJISは文字コード表 シフトJIS(Shift_JIS)を参考にしてください。

構文
  1. LongWord = ASC( 引数 )
引数
引数 (String)必須
文字
戻り値

引数(文字)から文字コードを返します。

文字コードから文字を得るにはCHR関数を使います。

ASCII文字コード表

Unicodeの1から128まではASCIIコードでUnicodeと互換性があります。

0123456789ABCDEF
0NULLSOHSTXETXEOTENGACKBELBSHTLFVTFFCRSOSI
10DLEDC1DC2DC3DC4NAKSYNETBCANEMSUBESCFSGSRSUS
20SP!"#$%&'()*+,-./
300123456789:;<=>?
40@ABCDEFGHIJKLMNO
50PQRSTUVWXYZ[\]^_
60`abcdefghijklmno
70pqrstuvwxyz{|}~DEL

Unicode一覧

Unicode表の中からよく使うものを記載しておきます。YYY0行X列の文字コードはU+YYYXとなります。例えば文字は3040行2列にあるので、文字コードはU+3042となります。

UWSCでは以下のように記述すると、12354と出力されます。

UWSC
PRINT ASC("あ")
結果
UWSC
12354

16進数表記にする場合はdecToHex関数 (自作関数)を使います。また4桁にゼロ埋めするためstrPad関数 (自作関数)を使っています。以下はU+3042と出力されます。

UWSC
PRINT "U+" + strPad(decToHex(ASC("あ")), 4, "0", LEFT)
結果
UWSC
U+3042

ひらがな

U+0123456789ABCDEF
3040
3050
3060
3070
3080
3090゙゚
https://ja.m.wikipedia.org/wiki/Unicode%E4%B8%80%E8%A6%A7_3000-3FFF

カタカナ

U+0123456789ABCDEF
30A0
30B0
30C0
30D0
30E0
30F0
https://ja.m.wikipedia.org/wiki/Unicode%E4%B8%80%E8%A6%A7_3000-3FFF

数字・アルファベット

U+0123456789ABCDEF
00300123456789:;<=>?
0040@ABCDEFGHIJKLMNO
0050PQRSTUVWXYZ[\]^_
0060`abcdefghijklmno
0070pqrstuvwxyz{|}~DEL
https://ja.m.wikipedia.org/wiki/Unicode%E4%B8%80%E8%A6%A7_0000-0FFF

使い方

文字コードを取得

aの文字コードを10進数で取得します。

UWSC
PRINT ASC("a")
結果
UWSC
97

引数に2文字以上の文字列を指定した場合、1文字目の文字コードのみ返し2文字目以降は無視されます。以下は0の文字コードのみ返ります。

UWSC
PRINT ASC("012")
結果
UWSC
48

16進数表記で取得

で取得した10進数表記の文字コードをdecToHex関数 (自作関数)strPad関数 (自作関数)で16進数表記のU+XXXXの形式に変換します。

UWSC
PRINT "U+" + strPad(decToHex(ASC("0")), 4, "0", LEFT)
結果
UWSC
U+0030

10進数・16進数に変換

arrayに指定した文字を10進数・16進数の文字コードに変換した結果を出力します。

UWSC
DIM array[] = "あ", "ア", "ア", "A", "A", "a", "a", "𠮷", "𩸽", "?", "#"

PRINT "文字,10進数,16進数"

FOR item IN array
	PRINT item + "," + ASC(item) + ",0x" + decToHex(ASC(item))
NEXT
結果
UWSC
文字,10進数,16進数
あ,12354,0x3042
ア,12450,0x30A2
ア,65393,0xFF71
A,65313,0xFF21
A,65,0x41
a,65345,0xFF41
a,97,0x61
𠮷,134071,0x20BB7
𩸽,171581,0x29E3D
?,63,0x3F
#,35,0x23