在PASCAL中用ord函数对中文是如何转换的?

来源:百度知道 编辑:UC知道 时间:2024/05/16 12:20:07
我用TUBRO PASCAL 7.0就不报啊

由于中文不属于ASCII码,又不是顺序型数据,所以ord('中文'),是错误的,好一点的编译器会报错

中文是有两个字符组成的,而且第一个字符的序号大于127($80).
由于中文字符有两个字符组成,所以是字符串类型不是字符类型.

不知道你是怎么写的.
ord的参数是顺序类型.如果仅仅是半个汉字就没事.

pascal用的是ASCII;{它不含中文}
另外ord()加的是字符型,非字符串;
一个汉字=2字节=两个字符;{读1个汉字=2字符}
如:
s:='汉字';
for i:=1 to length(s) do
writeln(ord(s[i]);

输出4个数;

如果是从文件中读取输出的话,可以直接进行。
例如:
var
a:char;
b:integer;
begin
assign(input,'in.txt');
assign(output,'out.txt');
reset(input);
rewrite(output);
while not eof do
begin
read(a);
b:=ord(a);
a:=chr(b);
write(b);
end;
end.
(注:chr()是将ASCII转换成对应字符。
这个程序相当于一个验证程序,即将文字连续读入,转换成ASCII码后再输出。)

建议你用FREE PASCAL WIN32版本
可以在这个上面下:
http://www.freepascal.org

应该是乱码~~
而且 中