[¥³¡¼¥É¤òʸ»ú¤ËÊÑ´¹¤¹¤ë]

¥³¡¼¥É¤«¤é³Æʸ»ú¥³¡¼¥É¤Îʸ»ú¤òɽ¼¨¤µ¤»¤Þ¤¹¡£

²¼µ­¤Ï¡¢¤è¤¯»È¤ï¤ì¤ëʸ»ú¥³¡¼¥É¤Ç¤¹¡£

¡¡JIS  SJIS EUC  UTF-8  UTF-16 »ú
¡¡41   41   41   41     0041   A
¡¡42   42   42   42     0042   B
¡¡43   43   43   43     0043   C
¡¡2422 82A0 A4A2 E38182 3042   ¤¢
¡¡2424 82A2 A4A4 E38184 3044   ¤¤
¡¡2426 82A4 A4A6 E38186 3046   ¤¦

Delphi2009¤«¤éʸ»ú¥³¡¼¥É¤¬Unicode¤Ë¤Ê¤Ã¤¿¤½¤¦¤Ç¤¹¡£
¤½¤Î¤¿¤á¡¢Unicode¤ò¤½¤ì¤¾¤ì¤Îʸ»ú¥³¡¼¥É¤ËÊÑ´¹¤¬É¬ÍפǤ¹¤¬
ÊÑ´¹Àè¤Îʸ»úÎóÊÑ¿ô¤òÍÑ°Õ¤·¤Æ¡¢¤½¤ÎÊÑ¿ô¤ËÂåÆþ¤¹¤ë¤À¤±¤Çʸ»ú¥³¡¼¥É
¤ÎÊÑ´¹¤¬½ÐÍè¤Æ¤·¤Þ¤¤¤Þ¤¹¡£¤½¤·¤Æ¡¢ÊÑ´¹¸å¤Ëʸ»ú¤òɽ¼¨¤µ¤»¤Þ¤¹¡£
¥µ¥ó¥×¥ë¤Ï¡ÖA¡×¤È¡Ö¤¢¡×¤Î³Æʸ»ú¥³¡¼¥É¤Ç¤Î¥³¡¼¥É¤Ç¤¹¡£
¡Ú¥½¡¼¥¹¥³¡¼¥É¡Û¡¡[tips0015.pas]
program tips0015;
{$APPTYPE CONSOLE}
uses
 SysUtils,Math;

type
 SJISString   = type AnsiString(932);     //Shif-JIS(CP932)
 EUCJString   = type AnsiString(20932);   //EUC-JP(CP20932)
 EBCDICString = type AnsiString(20290);   //IBM EBCDIC (ÆüËܸ쥫¥¿¥«¥Ê)  

 //2009¤Ç¤ÏAnsiString¤Ë¥³¡¼¥É¥Ú¡¼¥¸¤¬»ØÄê¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
 //¥³¡¼¥É¥Ú¡¼¥¸¤È¤ÏWindows¾å¤Çʸ»ú¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤹ¤ë¤¿¤á¤Î16¥Ó¥Ã¥È¤ÎÀ°¿ô¤Ç¤¹¡£
 //¥³¡¼¥É¥Ú¡¼¥¸¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢typeÀá¤Çtype AnsiString(CodePage)¤ÈÀë¸À¤·¤Þ¤¹¡£

var
 Int : Integer;
 S   : String; 
 WS  : WideString; 
 US  : UnicodeString; 
 A   : AnsiString;
 SJIS: SJISString;
 EUCJ: EUCJString;
 U8  : UTF8String;
 EBC : EBCDICString;

begin
 WriteLn('¥³¡¼¥É¢ªÊ¸»úÊÑ´¹');
 WriteLn(#13#10,'$41¡ÊA¡Ë¤ò³Æʸ»ú¥³¡¼¥ÉÊÑ¿ô¤ËÂåÆþ¤·¡¢Ê¸»ú¤È¥³¡¼¥É¤òɽ¼¨');
 Int:=$41;
 S:=Chr(Int); WS:=Chr(Int); US:=Chr(Int); A:=Chr(Int); SJIS:=Chr(Int); EUCJ:=Chr(Int); U8:=Chr(Int); EBC:=Chr(Int);
 WriteLn('  String      =',  #9,S,    #9,'$',IntToHex(Ord(S[1]),1));
 WriteLn('  WideString  =',  #9,WS,    #9,'$',IntToHex(Ord(WS[1]),1));
 WriteLn('  Unicode     =',  #9,US,    #9,'$',IntToHex(Ord(US[1]),1));
 WriteLn('  AnsiString  =',  #9,A,    #9,'$',IntToHex(Ord(A[1]),1));
 WriteLn('  SJISString  =',  #9,SJIS,  #9,'$',IntToHex(Ord(SJIS[1]),1));
 WriteLn('  EUCJString  =',  #9,EUCJ,  #9,'$',IntToHex(Ord(EUCJ[1]),1));
 WriteLn('  UTF8String  =',  #9,U8,    #9,'$',IntToHex(Ord(U8[1]),1));
 WriteLn('  EBCDICString=',  #9,EBC,    #9,'$',IntToHex(Ord(EBC[1]),1));

 WriteLn(#13#10,'$3042¡Ê¤¢¡Ë¤ò³Æʸ»ú¥³¡¼¥ÉÊÑ¿ô¤ËÂåÆþ¤·¡¢Ê¸»ú¤È¥³¡¼¥É¤òɽ¼¨');
 Int:=$3042;
 S:=WideChar(Int); WS:=WideChar(Int); US:=WideChar(Int); A:=WideChar(Int); SJIS:=WideChar(Int); EUCJ:=WideChar(Int); U8:=WideChar(Int);
 WriteLn('  String      =',  #9,S,    #9,'$',IntToHex(Ord(S[1]),1));
 WriteLn('  WideString  =',  #9,WS,    #9,'$',IntToHex(Ord(WS[1]),1));
 WriteLn('  Unicode     =',  #9,US,    #9,'$',IntToHex(Ord(US[1]),1));
 WriteLn('  AnsiString  =',  #9,A,    #9,'$',IntToHex(Ord(A[1])*256+Ord(A[2]),1));
 WriteLn('  SJISString  =',  #9,SJIS,  #9,'$',IntToHex(Ord(SJIS[1])*256+Ord(SJIS[2]),1));
 WriteLn('  EUCJString  =',  #9,EUCJ,  #9,'$',IntToHex(Ord(EUCJ[1])*256+Ord(EUCJ[2]),1));
 WriteLn('  UTF8String  =',  #9,U8,    #9,'$',IntToHex(Ord(U8[1])*256*256+Ord(U8[2])*256+Ord(U8[3]),1));

end.
¡Ú¥³¥ó¥Ñ¥¤¥ë¡õ¼Â¹Ô¡Û¡¡[tips0015.bat]
dcc32 tips0015.pas 
tips0015.exe  > tips0015.txt
pause
¡Ú¼Â¹Ô·ë²Ì¡Û¡¡[tips0015.txt]
¥³¡¼¥É¢ªÊ¸»úÊÑ´¹

$41¡ÊA¡Ë¤ò³Æʸ»ú¥³¡¼¥ÉÊÑ¿ô¤ËÂåÆþ¤·¡¢Ê¸»ú¤È¥³¡¼¥É¤òɽ¼¨
  String      =	A	$41
  WideString  =	A	$41
  Unicode     =	A	$41
  AnsiString  =	A	$41
  SJISString  =	A	$41
  EUCJString  =	A	$41
  UTF8String  =	A	$41
  EBCDICString=	ŽÁ	$C1

$3042¡Ê¤¢¡Ë¤ò³Æʸ»ú¥³¡¼¥ÉÊÑ¿ô¤ËÂåÆþ¤·¡¢Ê¸»ú¤È¥³¡¼¥É¤òɽ¼¨
  String      =	¤¢	$3042
  WideString  =	¤¢	$3042
  Unicode     =	¤¢	$3042
  AnsiString  =	¤¢	$82A0
  SJISString  =	¤¢	$82A0
  EUCJString  =	Ž¤Ž¢	$A4A2
  UTF8String  =	åᤋ$E38182