gpt4 book ai didi

c - 如何将阿拉伯语 ascii 文本转换为十六进制?

转载 作者:太空宇宙 更新时间:2023-11-03 23:49:10 25 4
gpt4 key购买 nike

SO answer中的代码, 适用于拉丁字符。

#include <stdio.h>

void charToHex(char *a)
{
char word[17], outword[33];//17:16+1, 33:16*2+1
int i, len;

strcpy(word, a);
len = strlen(word);
if(word[len-1]=='\n')
word[--len] = '\0';

for(i = 0; i<len; i++){
sprintf(outword+i*2, "%02X", word[i]);
}
printf("%s\n", outword);
}

int main(void)
{
char ch[10]="a";
charToHex(ch);
return 0;
}

它为“a”写了 61。但是,如果我将“ق”放入 ch[10],它会返回 FFFFFFFF82。但应该是D982。如何获得阿拉伯字母的真正十六进制值?您可以使用 ideone 尝试编码.

谢谢。

最佳答案

D9 = 1101 1001. 变成一个 -ve 1 字节数。尝试使用无符号数组它会工作

关于c - 如何将阿拉伯语 ascii 文本转换为十六进制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25326934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com