假设一个汉字“白”,由于一个汉字有两个字节:
var s : string;
begin
s :='白';
WORD(s[1]) shl 8 +WORD(s[2]) 可以计算出一个16进制的值为‘B0D7"
通过“B0D7” 我可以知道 s 中放置的汉字的拼音是以“B”开头的。
我想知道拼音以“B”开头的汉字的16进制码的区间是多少(只有16进制码落在这个区间中,就可以说明他的拼音是以“B”开头的)这个区间是怎么算出的呢?
end;
请各位帮忙!!!
var s : string;
begin
s :='白';
WORD(s[1]) shl 8 +WORD(s[2]) 可以计算出一个16进制的值为‘B0D7"
通过“B0D7” 我可以知道 s 中放置的汉字的拼音是以“B”开头的。
我想知道拼音以“B”开头的汉字的16进制码的区间是多少(只有16进制码落在这个区间中,就可以说明他的拼音是以“B”开头的)这个区间是怎么算出的呢?
end;
请各位帮忙!!!
begin
case c of
'A': result:='$B0A1..$B0C4';
'B': result:='$B0C5..$B2C0';
'C': result:='$B2C1..$B4ED';
'D': result:='$B4EE..$B6E9';
'E': result:='$B6EA..$B7A1';
'F': result:='$B7A2..$B8C0';
'G': result:='$B8C1..$B9FD';
'H': result:='$B9FE..$BBF6';
'J': result:='$BBF7..$BFA5';
'K': result:='$BFA6..$C0AB';
'L': result:='$C0AC..$C2E7';
'M': result:='$C2E8..$C4C2';
'N': result:='$C4C3..$C5B5';
'O': result:='$C5B6..$C5BD';
'P': result:='$C5BE..$C6D9';
'Q': result:='$C6DA..$C8BA';
'R': result:='$C8BB..$C8F5';
'S': result:='$C8F6..$CBF9';
'T': result:='$CBFA..$CDD9';
'W': result:='$CDDA..$CEF3';
'X': result:='$CEF4..$D188';
'Y': result:='$D1B9..$D4D0';
'Z': result:='$D4D1..$D7F9';
end;
end;procedure TForm1.Button1Click(Sender: TObject);
var s:string;
begin
s:=UpperCase(Edit1.Text ) ;
Edit2.Text:= Find(s[1]);
end;
至于为什么用'$B0A1..$B0C4'而不写成‘B0A1..B0C4'是因为十六进制就是这样表示,如因你愿意也可用十进制,如果你仍不愿意你可以用二进制,
如果你问为什么它的ASCII码是这样
1、请致电“美国信息互换标准代码”管理员委会;
2、请仔细阅读计算机原理。
如果你认为这样都不给分,唉,我只能说这是什么世道。