我用C程序怎么把汉字字串转换成十六进制形式的字符串

作者&投稿:表修 (若有异议请与网页底部的电邮联系)
c语言 输入16进制形式的字符串转换成16进制~

#include stdio.h>int IsHexChar(char ch){if((ch>='0' && ch='a' && ch='A' && ch<='F'))return 1;elsereturn 0;}int main(){char str[1000] = "123342abcdAFB1H";int cnt = 0;int i;printf("input str:
");//gets(str);i = 0;while(str[i]&&str[i+1]){if(IsHexChar(str[i]) && IsHexChar(str[i+1])){cnt++;printf(cnt==1?"0x%c%c":", 0x%c%c", str[i], str[i+1]);i++;i++;}elsebreak;}printf("
cnt = %d
", cnt);return 0;}

字符串转成byte数组,
再把byte数组中的每个元素以16进制形式的字符串保存到字符串数组中,
再根据字符串数组中的每个元素转换回byte数组,
再根据byte数组生成字符串
例如:
Dim strString As String = "转吧使劲地转吧"
Dim arrByte() As BytearrByte = System.Text.Encoding.GetEncoding("GB2312").GetBytes(strString)For i As Integer = 0 To arrByte.Length - 1Response.Write(System.Convert.ToString(arrByte(i), 16) & "")Next
Response.Write(System.Text.Encoding.GetEncoding("GB2312").GetString(arrByte))

如果知道某个汉字的区位码,只要将区号和位号分别加上160,然后分别转换为二进制数,区码在前、位码在后,就可以得到该汉字的十六位的机内码(国标码)。如“啊”字的区位码是1601,16+160=176-->B0H,01+160=161-->A1H,“啊”字的国标码为B0A1(16进制数)。”也可以用debug等工具,把汉字转换成十六进制数

#include <stdio.h>
int main()
{
    char s[100];
    int i;
    gets(s);//输入汉字字符串
    for(i = 0; s[i]; i++)
        printf("%02x ", s[i]);
    return 0;
}



在C语言中,汉字怎么输入?
在C语言中,可以通过将汉字作为字符串输入。由于一个汉字占2个字节,所以对汉字的操作,只能以2个字节作为操作单位。下面通过具体实例来说明汉字在C语言中的使用:char s[] = "首都北京"; \/\/ 将汉字字符赋值给字符数组char s2[20]; \/\/ 定义字符数组,存放用户输入的汉字scanf("%s", s2);...

请问在C语言中如何输出汉字?
1、引入标准输入输出库:sdtio.h。2、定义字符串形式的汉字(采用字符数组存储)。3、使用printf函数,或者puts函数输出字符串形式的汉字。例如:include<stdio.h>int main(){ char str[]="输出汉字"; printf("%s\\n",str); puts(str); return 0;}\/*运行结果:输出汉字输出汉字*\/ ...

在VC中如何用C语言输入一个汉字,将汉字给一个变量,使这个变量输出的时候...
可以用unsigned char类型的数组储存汉字,输出时按字符串输出即可 include<stdio.h> int main() { unsigned char s[]="百度一下,你就知道"; printf("%s\\n",s); puts(s); scanf("%s",s); printf("%s\\n",s); puts(s); return 0; } ...

c语言编程如何输出汉字
如果想要用C语言编程时输出汉字,可以用以下几种方法:1.最值得推荐的一种。摒弃TC,改用为WINDOWS编程设计的Visual C++,或者C++ Builder,lcc等。用这几种工具的话,在代码中可以直接输入汉字。编译出来的是32位windows程序不存在兼容问题。2.改用98以前的操作系统。3.装个虚拟机,在虚拟机中装上DOS...

c语言中怎样将存放在字符数组中的汉字一个一个输出出来啊?而不是用%...
输出格式:取出每句的第一个汉字并连接在一起形成一个字符串并输出。输入:一叶轻舟向东流 帆稍轻握杨柳手 风纤碧波微起舞 顺水任从雅客流 输出:一帆风顺 include<stdio.h> struct spf { char b[100];};int main(){ struct spf a[4];int i;i=0;for(i=0;i<4;i++){ scanf("%s",a...

怎么在c语言里输入中文啊?就是运行程序后输入中文。
include <stdio.h> include <stdlib.h> int main(){ char *str;gets(str);puts(str);return 0;} 在运行程序后输入中文,关键点是在控制台中切换到中文,如下图所示 这样就可以输入中文了,检查你切换到中文的快捷键!

如何在在C语言里面输入汉字
定义一个字符串变量,这个变量的值中就可以输入汉字了。汉字是多字节的,一个char放不下,可以使用字符数组,但需要给数组分配空间,或者使用string 例如:include<stdio.h>int main(void){char a[7]="你好";scanf("%*s",a);printf("%s\\n",a);return 0;} ...

c语言怎样才能输出中文???(最简单的方法)
定义一个字符串变量,在这个变量的值中就可以输入中文了。汉字是多字节的,一个char放不下,可以使用字符数组,但需要给数组分配空间,或者使用string。例如:include<stdio.h> int main(void){ char a[128];printf("请输入所需输出的汉字:");scanf("%s",a);printf("%s\\n",a);return 0;...

C语言如何在代码中将汉字存入一个已经声明过的字符串?
这个要看字符集,不同字符集对一个字符的定义是不一样的。你可以基本这么认为,你不可能一个字一个字的给汉字赋值,因为一个汉字对应多个字符,你不能拆开来赋值。你只能用strcpy当作字符串来拷贝

C语言中一个字符用%c输出,那么一个中文字用什么输出?
用自符串: 先定义一个字符串,如:char hanzi[20]; 然后: scanf("%s",hanzi); 或者gets(hanzi); 不过定义的缉发光菏叱孤癸酞含喀时候控制了字节为20,不能输太多,(一个汉字两 个字节)。1、C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储...

象山县17576643353: C语言字符数组如何转成16进制 -
毋杨复方: #include #include int main(void) { char *pKey = "AA1F1905A8F3E4D3C3C536FE615C93BC"; int n=strlen(pKey)/2,i; char *Key=(char *)malloc(sizeof(char)*n); for(i=0;i { sscanf(pKey+2*i,"%2X",Key+i); } for(i=0;i { printf("%#02hhX ",Key[i]); } return 0; }

象山县17576643353: C语言中如何将某个字符串转为16进制ascii码并输入到另一个字符串中? -
毋杨复方: 用sprintf()函数就可以了. sprintf(*dst,"%x",2113*src) dst:目标字符5261串 scr:源字符串 我回去试了一下,不行 一般的4102sprintf(*dst,"%s",*src)能把src转换成指定的格式 可是sprintf(*dst,"%x",*src)时,*dst存了地址1653!·修改了...

象山县17576643353: c语言里如何将字符串fff转换成16进制的fff -
毋杨复方: #define N 8 void tran(int num,int k) {int arr[N],i;for (i=0;i {arr[i]=num%k;num=num/k;if (num==0)break;}printf("转换为%d进制数为: ",k);for (;i>=0;i--)switch (arr[i]){case 10: printf("A");break;case 11: printf("B");break;case ...

象山县17576643353: C语言中字符串如何转换为二进制、八进制、十进制、十六进制 -
毋杨复方: 什么意思,?没懂,,,是说转为 2 8 16进制的整数? 只要是整数 int.就只有大小.没有进制的区别. 所谓的进制,只是为了人为识别. 但是可以把整数,转换为响应进制的字符串. 举例 char num[] = "15";int val = atoi(num); //字符串转为整数 char tem[16] = {};_itoa(val,tem,2);//整数转为2进制字符串_itoa(val,tem,8);//8进制_itoa(val,tem,16);//16进制_itoa(val,tem,10);

象山县17576643353: 怎么用C语言实现将二进制字符串变换为16进制数?比如将“00010001”怎么转变为“0x11”?谢谢!
毋杨复方: #include &lt;stdio.h&gt; #include &lt;math.h&gt; #include &lt;string.h&gt; int main(void) { char szBuff[65] = {0}; int i, j = 0; int len = 0; int sum = 0; printf("输入字符串:"); gets(szBuff); printf("%s=0X", szBuff); len = strlen(szBuff); for (i = len-1; i ...

象山县17576643353: 在C语言中怎样把字符型数据转换成相应的十六进制形式,如字符型F4,转换之后为十六进制F4. -
毋杨复方: 使用移位转换,先判断有多少位,例如只有两个F4,那每次只移动4位 str[] = "F4" char tmp; char result; tmp = (str[0]>0x39)?(str[0] - 0x37):(str[0] - 0x30); result = (tmp << 4) & 0xf0; 再转低位 tmp = (str[1]>0x39)?(str[1] - 0x37):(str[1] - 0x30); result += tmp & 0x0f

象山县17576643353: C语言,字符串转成16进制或者二进制写入二进制文件 -
毋杨复方: char szV[]="205";char* stop;FILE fpif((fp = fopen("fille name","wb")) != NULL){ unsigned long v = strtod(szV,&stop); fwrite(&v,sizeof(unsigned long),1,fp); fclose(fp);}

象山县17576643353: C#如何把字符串转化为十六进制的ASCII码? -
毋杨复方: 这么写就行了 private void button1_Click(object sender, EventArgs e) { string str = "Message"; StringBuilder stringBuilder = new StringBuilder(str.Length * 2); for (int i = 0; i < str.Length; i++) { stringBuilder.Append(((int)str[i]).ToString("X2"));//x2是小写 } MessageBox.Show(stringBuilder.ToString());//结果4D657373616765 }

象山县17576643353: c语言如何以输出16进制字符到文件 -
毋杨复方: 1、首先,定义一个字符串变量char和asc,保存转换的字符和转换后的16进制数.2、定义一个整型变量n,保存字符的ASCII码.3、给字符char赋值,其值为字符i.4、将字符char转换为ASCII码,并保存在n中.5、字符的ASCII码,进一步转换为16进制数,并保存在变量asc中.6、最后,输出字符转换为16进制数后的数值.7、运行程序,代码中的字符i,已成功转换为16进制数.

象山县17576643353: 怎么把汉字转换成16进制? -
毋杨复方: 先把字符串转成byte数组, 再把byte数组中的每个元素以16进制形式的字符串保存到字符串数组中, 再根据字符串数组中的每个元素转换回byte数组, 再根据byte数组生成字符串string str = "你好";byte[] bytes = Encoding.Unicode....

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网