Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将阿拉伯文ascii文本转换为十六进制?_C_Hex - Fatal编程技术网

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

如何将阿拉伯文ascii文本转换为十六进制?,c,hex,C,Hex,这里的代码与拉丁字符一起使用 #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;

这里的代码与拉丁字符一起使用

#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;
}
#包括
无效charToHex(字符*a)
{
字符词[17],外部词[33];//17:16+1,33:16*2+1
int i,len;
strcpy(单词,a);
len=strlen(单词);
如果(字[len-1]='\n')
字[--len]='\0';

对于(i=0;iD9=1101 1001。它将成为一个-ve 1字节数。尝试使用无符号数组,它将起作用。

sprintf(outford+i*2,“%02X”,(无符号字符)字[i])
“ق”不是ASCII字符集的成员。如果您说编码应该是D982,那么您使用的是带有UTF-8编码的Unicode字符集。