10进制转换ascii
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了10进制转换ascii相关的知识,希望对你有一定的参考价值。
2902127062这个是十进制,是从16进制转过来的。有高手能帮忙转成ascii码吗?
这个程序就转换过程来看,是完全正确的。若用DEBUG看程序运行结果的话,首先要把这个程序编译、链接,生成.EXE文件,然后用DEBUG将这个.EXE文件调入内存,在DEBUG提示符下键入G2E并回车,运行这个程序。然后再键入:D0并回车,就会看到原始数据(前3个字节)和转换后的ASCII码(后面6个字节)了。下面的程序是我编的,仅供参考。
; -----------------------------------------
; 本程序通过编译,运行正确
Code Segment
Assume CS:Code,DS:Code
; -----------------------------------------
; 功能:将AL中的低4位二进制数转换成十六进制显示的ASCII码
; 入口:AL
; 出口:AL=转换后的ASCII码
AL_ASCII Proc Near
cmp al,10 ;AL<10?
jb @@To_ASCII ;AL<10,按数字处理
add al,7 ;AL>=10,按大写字母处理
@@To_ASCII: add al,'0' ;转换成相应的数字或大写字母
ret
AL_ASCII EndP
; -----------------------------------------
; 功能:将AL中的字节数转换成十六进制显示的ASCII码
; 入口:AL
; 出口:AX=转换后的ASCII码
Byte_ASCII Proc Near
push cx
mov cx,4
xor ah,ah ;将AH置0
shl ax,cl ;将AX左移4位
shr al,cl ;将AL右移4位
xchg ah,al
call AL_ASCII ;调用子程序,将AL中的值转换成相应的ASCII码
xchg ah,al
call AL_ASCII
xchg ah,al
pop cx
ret
Byte_ASCII EndP
; -----------------------------------------
HEX db 12H,8AH,32H
Elements equ ($-HEX)/Type HEX ; 数组元素个数
ASC dw Elements dup(?)
Start: push cs
pop ds
push cs
pop es ;使数据段、附加段与代码段同段
cld
lea si,HEX ;数组首地址
lea di,ASC ;十六进制显示的ASCII码字符串地址
mov cx,Elements ; 数组元素个数装入计数寄存器
Translate: lodsb ;读入一个元素至AL
call Byte_ASCII ;把AL中的二进制无符号数转换成十六进制显示的ASCII码
stosw
loop Translate ;循环,处理下一个元素
Exit_Proc: mov ah,4ch ;结束程序
int 21h
Code ENDS
END Start ;编译到此结束
你的串号我已经记下,采纳后我会帮你制作 参考技术A 你要知道ascii码只能表示一个字符或者汉字,你这一串十进制的话要由一组ascii码来表示,这个就是你要的程序,vc6通过调试,答案是
47,45,39,46,40,44,48,46,45,44
#include<stdio.h>
void main()
long x=2902127062;
int ascii[10],i;
for(i=9;i>=0;i--)
ascii[i]=x%10+'0';
x=x/10;
printf("result is: ");
for(i=0;i<10;i++)
printf("%d,",ascii[i]);
printf("\n");
进制与ASCII码转换
1 LabeledEdit4.Text := chr(65); // 用十进制方式赋值: ASCII码转换为字符 65 -> A 2 LabeledEdit4.Text := #65; // 用十进制方式赋值: ASCII码转换为字符 65 -> A 3 4 LabeledEdit4.Text := #$41; //用十六进制方式赋值: ASCII码转换为字符 41 -> A 5 LabeledEdit4.Text := chr($41); //用十六进制方式赋值: ASCII码转换为字符 41 -> A 6 7 LabeledEdit4.Text := IntToStr(Ord(‘A‘)); //字符转换为十进制ASCII码 A -> 65 8 LabeledEdit4.Text := IntToStr($A); //十六进制字符转换为十进制ASCII码 A -> 10 9 end; 10 11 end. 12 //用Delphi把中文字符转换成ASCII的16进制形式13 Chinese=array[0..1] of char; 14 15 function TForm1.ChineseToHex(const Value: chinese): string; 16 begin 17 Result:=inttohex(ord(Value[0]),2)+inttohex(ord(Value[1]),2); 18 end; 19 20 procedure TForm1.Button1Click(Sender: TObject); 21 var 22 s:Chinese; 23 begin 24 s:=‘您好‘; 25 caption:=ChineseToHex(s); 26 end;
以上是关于10进制转换ascii的主要内容,如果未能解决你的问题,请参考以下文章