怎么把16进制的ASC码转换成字符串的显示,用python实现

Python014

怎么把16进制的ASC码转换成字符串的显示,用python实现,第1张

#将16进制字符转成二进制字符

def str2byte(s):

base='0123456789ABCDEF'

i=0

s = s.upper()

s1=''

while i <len(s):

c1=s[i]

c2=s[i+1]

i+=2

b1=base.find(c1)

b2=base.find(c2)

if b1 == -1 or b2 == -1:

return None

s1+=chr((b1 <<4)+b2)

return s1

s = 'C7 EB CE F0 BE C6 BA F3 BC DD B3 B5'.replace(' ','') #去掉空格

s1 = str2byte(s)

print s1.decode('gbk') #以gbk编码解码输出

#结果

>>>s1

'\xc7\xeb\xce\xf0\xbe\xc6\xba\xf3\xbc\xdd\xb3\xb5'

>>>print s1.decode('gbk')

请勿酒后驾车

一个字符的标准asc码的长度是7位。根据查询相关资料信息,结合python学中的字符知识,字符的长度指字符的位数,标准ASCII码是用7位二进制数表示1个字符的编码。一个字符的标准ASCII码的长度是7位。

data segment para str1 db ‘one’, ’$’ str2 db ‘Two’, ’$’ str3 db ‘Three’, ’$’ str4 db ‘four’, ’$’ str5 db ‘five’, ’$’ tab dw str1,str2,str3,str4,str5data endsssg segment stack dw 256 dup(?)ssg endscode segment paraassume cs:code,ss:ssg,ds:data main proc farmov ax, data mov ds, axmov ah, 1 键盘输入int 21h call asc2bin mov bl, almov bh, 0dec bxshl bx, 1mov dx, tab[bx]mov ah, 9int 21hmov ax, 4c00hInt 21h main endp将ASCII转换为二进制数入口:AL存放ASCII出口:转换后数值在ALasc2bin proc sub al, 30h cmp al, 9 jbe next sub al, 7next: retasc2bin endp end main上面的程序是:从键盘输入1~5之间的一个数,在屏幕上显示one…five。虽然不一样,但要求差不多,希望对你有帮助!