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

作者&投稿:通堵 (若有异议请与网页底部的电邮联系)
pascal语言中的ORD 和CHR函数有什么区别~

Chr(x) 求编号x对应的字符。例:Chr(65)=’A’ chr(97)=’a’ chr(48)=’0’
Ord(x) 求字符x对应的编号。例:ord(‘A’)=65 ord(‘a’)=97 另外:ord(false)=0 ord(true)=1

Ord本身可以用来从任何有序类型里面取出序号

Var
a:string;
i:Integer;
Begin
Readln(a);
for i:=1 to Length(a) do a[i]:=chr(ord(a[i])-22);
Writeln(a);
End.

手打的 不知道有没有什么地方编译错误
望采纳

如果是从文件中读取输出的话,可以直接进行。
例如:
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码后再输出。)

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

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

输出4个数;

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

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

中文是由4个Char组成的,所以求出来的值是4个字符,但是是乱码。有转换软件的话,同样可以把那些乱码转换回中文。我们老师今天专门提到这个问题的````````

PASCAL中大小写转化
答:1.大写转小写 lowercase 函数 (一般人我不告诉他!!! 秘诀哦 ^_^)例:ch:=lowercase(ch)也可利用 ch:=chr(ord(ch)+32) (利用ASCII码关系)2.小写转大写 upcase 函数 (大家都知道)例:ch:=upcase(ch)也可利用 ch:=chr(ord(ch)-32) (利用ASCII码关系)...

用Pascal编程:已知一段移位密码的密文,用穷尽秘钥搜索解密。_百度知 ...
答:k,i,t:integer;begin readln(M);for k:=1 to 25 do begin write('k=',k,' ');for i:=1 to length(M) do if M[i]=' ' then write(M[i])else begin t:=ord(M[i])+k;if t>122 then dec(t,26);write(chr(t));end;writeln;end;end.经测试,可以通过,比如这个样例:

odd和ord在free pascal里分别是什么用处
答:Ord 返回一个字符对应的ASCII码 Odd 返回一个数字是否为奇数 这两个用处各不相同

PASCAL语言中有哪些常用函数?
答:(1)标准标识符(pascal中可直接使用)标准常量:false,true,maxint.标准类型:integer,real,char,boolean,text 标准文件:input,output 标准函数:abs绝对值,arctan反正切函数,chr字符,cos余弦,eof不清楚,eoln不清楚,exp指数,ln对数,odd奇数函数,ord序数,pred前趋,sin不用说吧这个,sqr平方,sqrt算术...

pascal!! 4人回答我国四大淡水湖的大小
答:j1:= ord(d=1)+ord(h=4)+ord(p=3);j2:= ord(h=1)+ord(d=4)+ord(p=2)+ord(t=3);j3:= ord(h=4)+ord(d=3);j4:= ord(p=1)+ord(t=4)+ord(h=2)+ord(d=3);if j1*j2*j3*j4=1 then begin n[d]:='d';n[h]:='h';n[p]:='p';n[t]:='t';for i:=...

ord()是什么函数,怎么用?
答:序数函数。函数返回值为字符在ASCII码中的序号。如:ord(‘a’)=97,ord(‘0’)=48,ord(true)=1 。ord函数是Python中的一个库函数,用于获取字符的ASCII值。 具体来说,ord函数接受一个字符作为参数,并返回该字符对应的ASCII值。例如: ord('a')输出为97,由此可见,ord函数非常方便,...

Pascal中能不能将布尔型数组赋值为0或1比如for i:=1 to n do a[i...
答:在Pascal中,这是不可以的。你如果数组定义为a:array[1..100]of boolean;就只能赋值为true或者为false,但是你如果想把这个布尔型的值赋值给一个整型的变量,可以是s:=ord(a[i]);true为1,false为0。

pascal函数过程表
答:pascal基本函数过程及解释findnextp返回下一个满足匹配条件的文件名getfattrp返回文件的属性setfattrp设置文件属性gerintvecp返回某个中断变量值intrp执行软中断msdosp执行dos系统调用setintvecp设定中断值execp通过一个特定命令行执行特定程序段keepp中断程序的执行但仍驻留在内存中swapvectorsp用当前变量交换所有中断变量...

在PASCAL语言中 函数和过程有什么区别 要具体的
答:回答:1.算术函数 函数标识符 自变量类型 意义 结果类型 abs 整型、实型 绝对值 同自变量 arctan 整型、实型 反正切 实型 cos 整型、实型 余弦 实型 exp 整型、实型 指数 实型 frac 整型、实型 小数部分 实型 int 整型、实型 整数部分 实型 ln 整型、实型 自然对数 实型 pi 无自变量...

竖式乘法 Pascal
答:downto 1 do begin t:=(ord(m[i])-ord('0'))*nn;writeln(t:l-(length(m)-i));end;for i:=1 to l do write('-');writeln;writeln(ss:l);end else begin writeln(n:l);write('*');writeln(m:l-1);for i:=1 to l do write('-');writeln;writeln(s:l);end;end....