CHRチャー関数

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

CHR関数は、文字コードを文字に変換する関数です。

文字を文字コードに変換するには、ASC関数関数を利用します。

対応表はUnicode一覧表 - Wikipediaを参考にしてください。

構文
  1. UString = CHR( 文字コード )
引数
文字コード (Integer)必須
UNICODE
戻り値

文字

ANSI(バイト)処理の場合はCHRB

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

Unicode一覧

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

UWSCだと以下のように記述すると「あ」と出力されます。引数は10進数・16進数どちらでも大丈夫です。

UWSC
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個生成します。

結果は実行する度に変わります。

UWSC
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
使用関数

オブジェクトを作成したアプリケーションを示す数値を取得

UWSC
DIM Excel = CREATEOLEOBJ("Excel.Application")
Excel.Visible = TRUE
Excel.Workbooks.Add()

DIM dec = Excel.Worksheets.Creator
DIM hex = decToHex(dec)

DIM str = ""

FOR i = 1 TO LENGTH(hex) STEP 2
	str = str + CHR("$" + COPY(hex, i, 2))
NEXT

PRINT "32bit," + dec
PRINT "32bit(16進数),0x" + hex
PRINT "文字," + str

Excel.Quit
結果
CSV
32bit,           1480803660
32bit(16進数),   0x5843454C
文字,            XCEL
使用関数

アルファベットの大文字(A〜Z)でランダムに1文字取得

文字コードを65〜90(A〜Z)の範囲でランダムに取得し、それを文字に変換する。

UWSC
PRINT CHR(65 + RANDOM(90 - 65 + 1))
使用関数

関連記事

JISToSJIS関数 (自作関数)
JISコードシフトJISコードに変換します。