S-JIS[2008-06-20/2010-02-11] 変更履歴

プログラミング言語比較

文字表現

  • MS-DOS [2008-06-20]
  • UNIX [2008-06-20]
  • MSX-BASIC [2008-06-20]
  • VisualBasic for Application [2008-06-20/2009-05-18]
  • VBScript [2008-06-20]
  • VB.NET [2008-06-20]
  • HTML [2008-06-20]
  • wiki [2008-06-20]
  • PASCAL [2008-06-20]
  • PL/I [2008-06-20]
  • Perl [2008-06-20]
  • C言語(gcc, WIN32) [2008-06-20]
  • Visual C++(MFC) [2008-06-20]
  • Java [2008-06-20]
  • JavaScript [2008-06-20]
  • C# [2008-06-20]
  • SQL(Oracle[2008-06-20]
  • PL/SQL(Oracle) [2008-06-20]
  • Common Lisp [2008-06-20]
文字列
エンコーディング
 
改行         vbNewLine   Environment.NewLine
ControlChars.NewLine
<br> &br;
#br
~
          System.getProperty("line.separator")
%n
  Environment.NewLine
ControlChars.NewLine
     
  Enter Enter CHR$(13)+CHR$(10) vbCrLf vbCrLf ControlChars.CrLf         "\n" "\r\n"
"\n"
"\r\n"
"\n"
"\r\n"
"\n"
"\n" ControlChars.CrLf      
文字コード       C$=CHR$(65) C = Chr(65) C = Chr(65) Dim C As Char = Convert.ToChar(65)     chr(65)     char c=65; TCHAR c=65; char c=65;     CHR(65) CHR(65) (code-char 65)
N=ASC("A") N = Asc("A") N = Asc("A")
N = AscW("A") 'ユニコード
        char n='A'; TCHAR n='A'; char n='A'; var c='A'; ASCII('A') ASCII('A') (char-code #\A)
        &#65;
&#x41;
&#65;
&#x41;
  \101
\x41
\101
\x41
\101
\u0041
       
 
00 NL NUL null 空文字 ^@ ^@   vbNullChar   ControlChars.NullChar           \0 \0 \0   \0
ControlChars.NullChar
     
01 SH SOH start of heading ヘディング開始 ^A ^A                                
02 SX STX start of text テキスト開始 ^B ^B                                
03 EX ETX end of text テキスト終了 ^C ^C                                
04 ET EOT end of transmission 伝送終了 ^D ^D                                
05 EQ ENQ enquiry 問合せ ^E ^E                                
06 AK ACK acknowledge 肯定応答 ^F ^F                                
07 BL BEL bell ベル ^G ^G                 \a \a            
08 BS   backspace 後退 BS
^H
^H vbBack   ControlChars.Back           \b \b \b   ControlChars.Back      
09 HT   horizontal tabulation 水平タブ Tab
^I
^I vbTab   ControlChars.Tab   &t;       \t \t \t   \t
ControlChars.Tab
     
0a NL
LF
  new line
line feed
改行 ^J Enter
^J
vbLf   ControlChars.Lf           \n \n \n   ControlChars.Lf      
0b VT   vertical tabulation 垂直タブ ^K ^K vbVerticalTab   ControlChars.VerticalTab           \v \v     ControlChars.VerticalTab      
0c FF   form feed 書式送り ^L ^L vbFormFeed   ControlChars.FormFeed           \f \f \f   ControlChars.FormFeed      
0d CR   carriage return 復帰 Enter
^M
^M vbCr   ControlChars.Cr           \r \r \r   ControlChars.Cr      
0e SO   shift out シフトアウト ^N ^N                                
0f SI   shift in シフトイン ^O ^O                                
10 DE DLE data link escape 伝送制御拡張 ^P ^P π                                
11 D1 DC1 device control 1 装置制御1 ^Q ^Q                                
12 D2 DC2 device control 2 装置制御2 ^R ^R                                
13 D3 DC3 device control 3 装置制御3 ^S ^S                                
14 D4 DC4 device control 4 装置制御4 ^T ^T                                
15 NK NAK negative acknowledge 否定応答 ^U ^U                                
16 SN SYN synchronous idle 同期信号 ^V ^V                                
17 EB ETB end of transmission block 伝送ブロック終了 ^W ^W                                
18 CN CAN cancel 取消 ^X ^X                                
19 EM   end of medium 媒体終端 ^Y ^Y                                
1a SB SUB substitute 置換 ^Z ^Z                                
1b EC ESC escape エスケープ Esc
^[
Esc
^[
                               
1c FS   file separator ファイル分離標識 ^\ ^\ ×                                
1d GS   group separator グループ分離標識 ^] ^]                                
1e RS   record separator レコード分離標識 ^^ ^^                                
1f US   unit separator ユニット分離標識 ^_ ^_                                
20 SP SPC space スペース Space Space SPACE       &nbsp;                        
7f DL DEL delete 抹消 Delete BS
Delete
DEL                                
 
数字 30〜39 0〜9 0〜9 30〜39 30〜39           F0〜F9   30〜39 30〜39 30〜39          
英字 41〜5a
61〜7a
A〜Z
a〜z
A〜Z
a〜z
41〜5a
61〜7a
41〜5a
61〜7a
          C1〜C9, D1〜D9, E2〜E9
81〜89, 91〜99, A2〜A9
  41〜5a
61〜7a
41〜5a
61〜7a
41〜5a
61〜7a
         
! 21 33 エクスクラメーション ! !                                  
" 22 34 ダブルクォーテーション " "   ""   ControlChars.Quote &quot;         \" \" \" \" \"
ControlChars.Quote
    \"
# 23 35 シャープ # #                   ??=              
$ 24 36 ダラー $ $                                  
% 25 37 パーセント % %                                  
& 26 38 アンド & &         &amp;                        
' 27 39 シングルクォーテーション ' '         &apos;   ''     \' \' \' \' \' '' '' \'
( 28 40 括弧 ( (                                  
) 29 41 括弧 ) )                                  
* 2a 42 アスタリスク * *                                  
+ 2b 43 プラス + +                                  
, 2c 44 カンマ , ,                                  
- 2d 45 ハイフン - -                                  
. 2e 46 ピリオド . .                                  
/ 2f 47 スラッシュ / /                                  
: 3a 58 コロン : :                                  
; 3b 59 セミコロン ; ;                                  
< 3c 60 小なり < <         &lt;                        
= 3d 64 イコール = =                                  
> 3e 62 大なり > >         &gt;                        
? 3f 63 クエスチョン ? ?                   \? \?            
@ 40 64 アットマーク @ @                                  
[ 5b 91 角括弧 [ [                   ??(              
\ 5c 92 円マーク \                   \\
??/
\\ \\          
] 5d 93 角括弧 ] ]                   ??)              
^ 5e 94 ハット ^ ^                   ??'              
_ 5f 95 アンダースコア _ _                                  
` 60 96 バッククォート ` `                                  
{ 7b 123 とげ括弧 { {                   ??<              
| 7c 124 縦棒 | |                   ??!              
} 7d 125 とげ括弧 } }                   ??>              
~ 7e 126 ティルド ~ ~                   ??-              
 

アスキーコード概要

アスキー(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(0d):キャリッジリターン
カーソルを行頭に戻す。
LF(0a):ラインフィード
紙を一行分上にずらす。(次の行へ移る。ただし紙がスクロールするだけで、左右の位置は変わらない)
FF(0c):フォームフィード
紙を取り出す(一枚分ずらす)。(コンピューターでは、画面がクリアされる。新しい紙になるイメージか)

なので、「次の行の先頭位置」へカーソルを移動させるには、CR(現在の行頭へ戻り)LF(下の行へ移る)という2つの動作が必要になる。MS-DOSはこれを忠実に真似ているのだろう。
UNIXではそんな面倒なことはせず、LFだけで次の行の行頭へ移動する。


MSXの文字コード

MSX-BASICでは、キーボードから「Ctrl+英字」でキー入力すると、DOSと同様に制御文字として扱われる。 (例えばCtrl+Lで画面上の文字が全て消える)
また、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を実行(実験)可能


言語比較全般へ戻る / 参考文献 / プログラム記号比較 / 技術メモへ戻る
メールの送信先:ひしだま