问题描述
- 中文字符拆分显示乱码问题
-
程序主要代码:
int main (int argc, char argv[])
{
aes256_context ctx;
uint8_t key[32];
char *filename1="/home/phaeton/user/my_code/source.txt";
char *filename2="/home/phaeton/user/my_code/desc.txt";
int fctl1=0,fctl2=0;// 文件描述符
int tmp,i=0,j=0;
char buf[4096];
char buf1[16];
memset(buf,0,sizeof(char)*4096);
memset(buf1,0,sizeof(char)*16);/
put a test vector */
for (i = 0; i < sizeof(key);i++) key[i] = i;
DUMP("key: ", i, key, sizeof(key));
printf("---
");fctl1=open(filename1,O_RDONLY); if(fctl1 == -1) { printf("open file error check the file state"); return 0; } fctl2=open(filename2,O_WRONLY||O_APPEND||O_CREAT,777); if(fctl2 == -2) { printf("create file error "); return 0; } tmp=read(fctl1,buf,4096); printf("%d",tmp); printf(" "); printf("%s ",buf); //处理buf[]中的文件数据,只能16位为一个单位进行加密 for(i=0;i<tmp;i++) { printf("%c",buf[i]); } printf(" "); for(i=0;i*16<tmp;i++) { for (j=0;j<16;j++) { printf("%c",buf[j+16*i]); } printf(" "); /*aes256_init(&ctx, key); aes256_encrypt_ecb(&ctx, buf1); DUMP1("enc: ", j, buf, sizeof(buf1)); aes256_init(&ctx, key); aes256_decrypt_ecb(&ctx, buf1); DUMP1("dec: ", j, buf, sizeof(buf1)); aes256_done(&ctx);*/ }
return 0;
} /* main */
文件内容:
为什么会出现乱码 真是奇了怪了 整体输出没有问题
拆分开输出 就形成乱码
搞了一天了没搞明白求大神指导,实在搞不定了!
解决方案
5.6java中显示中文字符乱码的问题
osg 中显示中文字符出现乱码问题
字符显示乱码问题
解决方案二:
乱码就说明了要么是你拆分前后使用的字符编码是不一样,要么是你所使用的系统里中文字符不是16位
时间: 2024-12-10 01:06:50