资源描述:
《vb关于ascii码转换成16进制的问题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、VB关于ASCII码转换成16进制的问题悬赏分:5-解决时间:2008-10-2116:01有这样一团代码:他能实现字符串转换成ASCII码16进制但是我想让他实现ASCII码16进制转换成字符串谢谢各位大哥希望能有代码并且给出比较详细的说明我会追加积分的麻烦了!~~PrivateSubCommand1_Click()DimA$,i%,B$A=Text1.TextFori=1ToLen(A)B=B&Hex(Asc(Mid(A,i,1)))NextText2.Text=BEndSub建立两个文本框一个按钮PrivateSubCo
2、mmand1_Click()DimA1%,B1$,i%,p%'定义变量A1=Text1.Text'将输入的ASCII码赋值给A1Fori=Len(A1)To1Step-1'循环B1=Mid(UCase(A1),i,1)'取各位数字为了方便转为大写p=Len(A1)-i'位权SelectCaseB1'将16进制转为10进制Case"A"C=C+16^p*10Case"B"C=C+16^p*11Case"C"C=C+16^p*12Case"D"C=C+16^p*13Case"E"C=C+16^p*14Case"F"C=C+16^p
3、*15CaseElseC=C+16^p*Val(B1)EndSelectNextText2.Text=Chr(C)'转换为字符EndSub以上是对你程序的修改的方法其实完全可以很简单的PrivateSubCommand1_Click()DimA1%,B1$,i%,p%'定义变量A1=Text1.Text'将输入的ASCII码赋值给A1Text2.Text=Chr(Val("&H"&A1))'转换为字符利用数值转换EndSub试试效果是不是一样啊求vb中将字符串转换为16进制的ascii码代码悬赏分:110-解决时间:2008-
4、2-2016:46ascii码为16进制形式的字符串包含数字字母和汉字问题补充:得到的ascii码全部为大写、并且取值是从后往前欢迎大家积极帮助积分定当顷囊相送楼上的不是VB代码,不要乱贴啊使用VB内部函数Hex$(x)是把10进制的数字变成16进制如y=Hex$(10)就是求10的十六进制数那么y=A字母,数字,和汉字的asc码都只要用asc()这个函数就可以求出来了你把问题写写清楚的话,我可以写下代码OptionExplicitDimaa$,bb$,hexstr$,I&,SPrivateSubCommand1_Click(
5、)DimlenddAsInteger,nAsIntegerlendd=Len(Text2.Text)Text3.Text=""n=0ForI=lenddTo1Step-1n=n+1Text3.Text=Text3.Text+Mid(Text2.Text,I,1)Ifn=4ThenText3.Text=Text3.Text&"-":n=0NextIEndSubPrivateSubcommand2_Click()aa=""IfText1.Text=""ThenExitSubForI=1ToLen(Text1.Text)aa=aa&
6、CStr(ZFto16(Mid(Text1.Text,I,1)))NextIText2.Text=Trim(aa)Text1.Text=""EndSubPublicFunctionZFto16(hz$)AsStringIfhz=""ThenExitFunctionZFto16=Hex(Asc(hz))EndFunctionPublicFunctionZF16toZF(hexstr$)AsStringIfhz=""ThenExitFunctionZF16toZF=Chr("&H"&hexstr)EndFunction其他回答
7、 共2条intchar2int(charch){if(ch>='0'&&ch<='9')return(ch-'0');if(ch>='a'&&ch<='f')return(ch-'a'+0xa);if(ch>='A'&&ch<='F')return(ch-'A'+0xa);return-1;}/*没处理非法字符,可以根据函数char2int()返回值处理*/boolconvert(char*dst,char*src){char*p=src;char*q=dst;intlen=strlen(src);/*奇数长度,按右对齐方式
8、处理*/if(len%2){*q++=char2int(*p++);}while(*p){*q=char2int(*p++)<<4;*q
9、=char2int(*p++)&0x0f;q++;}returntrue;}看看好使不void hex_to_ascii(unsigned