Contents
CHR関数は、文字コードを文字に変換する関数です。
文字を文字コードに変換するには、ASC関数を利用します。
対応表はUnicode一覧表 – Wikipediaを参考にしてください。
- 構文
- UString = CHR( 文字コード )
- 引数
- 文字コード
- UNICODE
- 戻り値
文字
ANSI(バイト)処理の場合はCHRB
文字から文字コードを得るにはASC関数を使います。
Unicode一覧
Unicode表の中からよく使うものを記載しておきます。YYY0行X列の文字コードはU+YYYXとなります。例えば文字コードU+3042は以下の表だと3040行2列にある文字なので「あ」となります。
UWSCだと以下のように記述すると「あ」と出力されます。引数は10進数・16進数どちらでも大丈夫です。
PRINT CHR($3042)
PRINT CHR(12354)
以下の表はすべて16進数表記なので、必要に応じてdecToHex(10→16進数)、hexToDec(16→10進数)を使ってください。
ひらがな
U+ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
3040 | ぁ | あ | ぃ | い | ぅ | う | ぇ | え | ぉ | お | か | が | き | ぎ | く | |
3050 | ぐ | け | げ | こ | ご | さ | ざ | し | じ | す | ず | せ | ぜ | そ | ぞ | た |
3060 | だ | ち | ぢ | っ | つ | づ | て | で | と | ど | な | に | ぬ | ね | の | は |
3070 | ば | ぱ | ひ | び | ぴ | ふ | ぶ | ぷ | へ | べ | ぺ | ほ | ぼ | ぽ | ま | み |
3080 | む | め | も | ゃ | や | ゅ | ゆ | ょ | よ | ら | り | る | れ | ろ | ゎ | わ |
3090 | ゐ | ゑ | を | ん | ゔ | ゕ | ゖ | ゙゚ | ゚ | ゛ | ゜ | ゝ | ゞ | ゟ |
Unicode一覧 3000-3FFF – Wikipedia
カタカナ
U+ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
30A0 | ァ | ア | ィ | イ | ゥ | ウ | ェ | エ | ォ | オ | カ | ガ | キ | ギ | ク | |
30B0 | グ | ケ | ゲ | コ | ゴ | サ | ザ | シ | ジ | ス | ズ | セ | ゼ | ソ | ゾ | タ |
30C0 | ダ | チ | ヂ | ッ | ツ | ヅ | テ | デ | ト | ド | ナ | ニ | ヌ | ネ | ノ | ハ |
30D0 | バ | パ | ヒ | ビ | ピ | フ | ブ | プ | ヘ | ベ | ペ | ホ | ボ | ポ | マ | ミ |
30E0 | ム | メ | モ | ャ | ヤ | ュ | ユ | ョ | ヨ | ラ | リ | ル | レ | ロ | ヮ | ワ |
30F0 | ヰ | ヱ | ヲ | ン | ヴ | ヵ | ヶ | ヷ | ヸ | ヹ | ヺ | ・ | ー | ヽ | ヾ | ヿ |
Unicode一覧 3000-3FFF – Wikipedia
数字・アルファベット
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 |
Unicode一覧 0000-0FFF – Wikipedia
プログラム実行例
パスワードを生成
パスワードを10個生成します。
結果は実行する度に変わります。
REPEAT
res = INPUT("何桁のパスワード?")
IF res = EMPTY THEN EXIT
UNTIL CHKNUM(res)
FOR num = 0 TO 10
DIM password = ""
FOR n = 0 TO res
SELECT RANDOM(3)
CASE 0
password = password + CHR(RANDOM(10) + 48)
CASE 1
password = password + CHR(RANDOM(26) + 65)
CASE 2
password = password + CHR(RANDOM(26) + 97)
SELEND
NEXT
PRINT password
NEXT
- 結果
D659nv9Z6Q1t1MXjXfPUMMe35r012a639 XsQg7139wsUWF2q764f9AiopT451aULBC A8a2t7Iq0Tl7Ij3W4p5RmQ97ElwvkWeG4 u8RTBF1aDt365Y436XC09Uo5X9kWHc4dS AeCg2uNoUrCR9FsjYHtdhHg2bB6S92NhY 3eR4l89x7WGf1SZTlpDcIbBc25IbEgk4a nuT94OR530poRBt9s0wF1b275qAfGDOHa KTRa7wmEHjab2MopiT8u3aPwI6ntWmMt5 Bz626hGf9GS6yeZQyHrIAbEk1N0fs1ZL5 6Nze7rld3Rmd0tU0Y6kgP1AUwab0bjQlR 11C0x8862eOP1AVjVlXz7rEl4nKkR91Hf
アルファベットの大文字(A〜Z)でランダムに1文字取得
文字コードを65〜90(A〜Z)の範囲でランダムに取得し、それを文字に変換する。
PRINT CHR(65 + RANDOM(90 - 65 + 1))