本ページには広告が含まれています。
目次
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)を参考にしてください。
- 構文
- LongWord = ASC( 引数 )
- 引数
- 引数 (String)必須
- 文字
- 戻り値
引数(文字)から文字コードを返します。
文字コードから文字を得るにはCHR関数を使います。
ASCII文字コード表
Unicodeの1から128まではASCIIコードでUnicodeと互換性があります。
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | NULL | SOH | STX | ETX | EOT | ENG | ACK | BEL | BS | HT | LF | VT | FF | CR | SO | SI |
| 10 | DLE | DC1 | DC2 | DC3 | DC4 | NAK | SYN | ETB | CAN | EM | SUB | ESC | FS | GS | RS | US |
| 20 | SP | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / |
| 30 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
| 40 | @ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
| 50 | P | Q | R | S | T | U | V | W | X | Y | Z | [ | \ | ] | ^ | _ |
| 60 | ` | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o |
| 70 | p | q | r | s | t | u | v | w | x | y | z | { | | | } | ~ | DEL |
Unicode一覧
Unicode表の中からよく使うものを記載しておきます。YYY0行X列の文字コードはU+YYYXとなります。例えば文字あは3040行2列にあるので、文字コードはU+3042となります。
UWSCでは以下のように記述すると、12354と出力されます。
PRINT ASC("あ")- 結果
12354
16進数表記にする場合はdecToHex関数 (自作関数)を使います。また4桁にゼロ埋めするためstrPad関数 (自作関数)を使っています。以下はU+3042と出力されます。
PRINT "U+" + strPad(decToHex(ASC("あ")), 4, "0", LEFT)- 結果
U+3042
ひらがな
| U+ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3040 | ぁ | あ | ぃ | い | ぅ | う | ぇ | え | ぉ | お | か | が | き | ぎ | く | |
| 3050 | ぐ | け | げ | こ | ご | さ | ざ | し | じ | す | ず | せ | ぜ | そ | ぞ | た |
| 3060 | だ | ち | ぢ | っ | つ | づ | て | で | と | ど | な | に | ぬ | ね | の | は |
| 3070 | ば | ぱ | ひ | び | ぴ | ふ | ぶ | ぷ | へ | べ | ぺ | ほ | ぼ | ぽ | ま | み |
| 3080 | む | め | も | ゃ | や | ゅ | ゆ | ょ | よ | ら | り | る | れ | ろ | ゎ | わ |
| 3090 | ゐ | ゑ | を | ん | ゔ | ゕ | ゖ | ゙゚ | ゚ | ゛ | ゜ | ゝ | ゞ | ゟ |
カタカナ
| U+ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 30A0 | ァ | ア | ィ | イ | ゥ | ウ | ェ | エ | ォ | オ | カ | ガ | キ | ギ | ク | |
| 30B0 | グ | ケ | ゲ | コ | ゴ | サ | ザ | シ | ジ | ス | ズ | セ | ゼ | ソ | ゾ | タ |
| 30C0 | ダ | チ | ヂ | ッ | ツ | ヅ | テ | デ | ト | ド | ナ | ニ | ヌ | ネ | ノ | ハ |
| 30D0 | バ | パ | ヒ | ビ | ピ | フ | ブ | プ | ヘ | ベ | ペ | ホ | ボ | ポ | マ | ミ |
| 30E0 | ム | メ | モ | ャ | ヤ | ュ | ユ | ョ | ヨ | ラ | リ | ル | レ | ロ | ヮ | ワ |
| 30F0 | ヰ | ヱ | ヲ | ン | ヴ | ヵ | ヶ | ヷ | ヸ | ヹ | ヺ | ・ | ー | ヽ | ヾ | ヿ |
数字・アルファベット
| U+ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0030 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
| 0040 | @ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
| 0050 | P | Q | R | S | T | U | V | W | X | Y | Z | [ | \ | ] | ^ | _ |
| 0060 | ` | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o |
| 0070 | p | q | r | s | t | u | v | w | x | y | z | { | | | } | ~ | DEL |
使い方
文字コードを取得
aの文字コードを10進数で取得します。
PRINT ASC("a")- 結果
97
引数に2文字以上の文字列を指定した場合、1文字目の文字コードのみ返し2文字目以降は無視されます。以下は0の文字コードのみ返ります。
PRINT ASC("012")- 結果
48
16進数表記で取得
で取得した10進数表記の文字コードをdecToHex関数 (自作関数)とstrPad関数 (自作関数)で16進数表記のU+XXXXの形式に変換します。
PRINT "U+" + strPad(decToHex(ASC("0")), 4, "0", LEFT)- 結果
U+0030
10進数・16進数に変換
arrayに指定した文字を10進数・16進数の文字コードに変換した結果を出力します。
DIM array[] = "あ", "ア", "ア", "A", "A", "a", "a", "𠮷", "𩸽", "?", "#"
PRINT "文字,10進数,16進数"
FOR item IN array
PRINT item + "," + ASC(item) + ",0x" + decToHex(ASC(item))
NEXT- 結果
文字,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
