S-JIS[2008-06-20/2010-02-11] 変更履歴
vbNewLine
Environment.NewLine ControlChars.NewLine
<br>
&br; #br ~
System.getProperty("line.separator") %n
CHR$(13)+CHR$(10)
vbCrLf
ControlChars.CrLf
"\n"
"\r\n" "\n"
C$=CHR$(65)
C = Chr(65)
Dim C As Char = Convert.ToChar(65)
chr(65)
char c=65;
TCHAR c=65;
CHR(65)
(code-char 65)
N=ASC("A")
N = Asc("A")
N = Asc("A") N = AscW("A") 'ユニコード
char n='A';
TCHAR n='A';
var c='A';
ASCII('A')
(char-code #\A)
A A
\101 \x41
\
101 \u0041
vbNullChar
ControlChars.NullChar
\0
\0 ControlChars.NullChar
\a
vbBack
ControlChars.Back
\b
vbTab
ControlChars.Tab
&t;
\t
\t ControlChars.Tab
vbLf
ControlChars.Lf
\n
vbVerticalTab
ControlChars.VerticalTab
\v
vbFormFeed
ControlChars.FormFeed
\f
vbCr
ControlChars.Cr
\r
""
ControlChars.Quote
"
\"
\" ControlChars.Quote
??=
&
'
''
\'
<
>
\?
??(
\\ ??/
\\
??)
??'
??<
??!
??>
??-
アスキー(ASCII:American Standard Code for Information Interchange)コードは、たぶん地球上で使われている文字コードの最も基本となっているコード体系。
コード32(20h)未満と127(7fh)は制御文字(コントロールコード)と呼ばれる、印字不可能な(画面上に表示は出来ない)文字であり、何らかの動作(制御)を行う。 キーボードからは「Ctrl+英字等」のキーを押すことによって入力できる。例えばMS-DOSやUNIXでは、Enterキーを押す代わりに「Ctrl+M」を押すことによっても同じ動作になる。 「Ctrl+A」を押すことを「^A」と表現することも多い。逆にコード「01」が「^A」と表示されるツールもある。
コード5cに当たる「\」は、国によって違う文字(画面上に表示される形)を割り当てていいことになっているらしい。 だから同じ文字コードでも、日本では「¥(円マーク)」が割り当てられているが、UNIX系ではたいてい「\(バックスラッシュ)」になる。
改行コードの使われ方(改行をどの文字コードで表すか)は機種によって異なる。 有名なところでは、MS-DOS(Windows)系はCRLF(0d0a)の2文字で表し、UNIX系はLF(0a)、MacではCR(0d)らしい。 なので、最近のコンピューター言語では、稼動する機種用の改行コードを取得する仕組みが用意されている。
CRとかLFというのは、タイプライター(紙に英文をタイプ(印字)する為の機械)の動作を模していると思われる。
なので、「次の行の先頭位置」へカーソルを移動させるには、CR(現在の行頭へ戻り)LF(下の行へ移る)という2つの動作が必要になる。MS-DOSはこれを忠実に真似ているのだろう。 UNIXではそんな面倒なことはせず、LFだけで次の行の行頭へ移動する。
MSX-BASICでは、キーボードから「Ctrl+英字」でキー入力すると、DOSと同様に制御文字として扱われる。 (例えばCtrl+Lで画面上の文字が全て消える) また、PRINT CHR$(n)によって制御文字を出力すると、その動作が行われる。(例えば「? CHR$(12)」で画面上の文字が全て消える)
PRINT CHR$(n)
? CHR$(12)
しかし、直接VRAM(VDP)に制御文字のコードを書き込むと、MSX独自の文字(「GRAPH+キー」で入力する文字)になる。
SCREEN 1:WIDTH 32 FOR I=0 TO &H1F:VPOKE &H1800+I,I:NEXT
→MSXエミュレーターでMSX-BASICを実行(実験)可能