trybye
2017-06-26 14:09
采纳率: 23%
浏览 848
已采纳

关于汉字编码格式的问题

一个文件中的编码应该是统一的把,不存在某个汉字是一种编码格式。另一个汉字是另一个编码格式把,但是我现在遇到的请教就比较特别,char str[20]="粵A22222";这样一个字符串,我是在window下建立的txt文档,编码格式是ANSI对应个中文编码格式应该就是GB2312,然后我进行如下操作
short core;
memcpy(&core,str,2);
printf("%d\n",core);
打印出来的core的值是-25669,但是同样的字符串,同样的汉字粵,另一个转换的值是-15916,怎么理解呢,同一个文档中的其他汉字如“苏”,“辽”在2个转换是同样的值,就这个“粵”不一样,小弟对编码这块不是很了解,还请明示,谢谢

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • Linmson 2017-06-26 14:27
    已采纳

    编码格式只是程序在读写数据的时候怎么翻译读到的数据而已;
    一个文件里如果被写入了两种编码格式的数据,那么不管用那种编码读取,都会出现一部分正常,一部分乱码的情况;

    程序读文件时,默认使用什么编码在读,在不同的软件平台和系统环境下是不一样的,通常是和这个软件平台源代码编码格式是一致的;
    为了保证读到的文本正确处理,应当显示的指示读取时使用的编码方式。

    点赞 打赏 评论
  • Max_Rzdq 2017-06-30 01:40

    不太清楚你的问题,你这里定义的是short,其他位置是什么呢,如果不一样的话给一样的看看

    点赞 打赏 评论

相关推荐 更多相似问题