Charset And Encoding

本文解析了Unicode作为一种编码方式的概念,并非字符集。探讨了不同编码方式的作用,如ASCII、UCS等。针对Compiler可能出现的WarningC4819问题,提供了三种解决方案,帮助开发者有效避免因编码问题导致的数据丢失。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    很多情况下,我们搞不清楚unicode是一个什么概念,到底它是一个字符集呢?还是一个编码方式?正确的答案是它是一种编码方式。字符集指的是一种抽象字符的集合,比如说英文字符集,简体中文字符集,还有日文字符集。它们才是字符集的概念。
    编码方式是它们的表示方法。比如:ASCII、ISO8859-1、UCS、Unicode、UTF、GB2312等等。

    参见无博文:
 
    代码文件如果不使用正确的编码,Compiler就有可能报Warning C4819,甚至是编译不过。

Warning C4819:The file contains a character that can ot be represented in the current code page(936). save the file in unicode format to prevent data loss.

中文意思是:该文件包含不能在当前代码页中表示的字符,请将文件保存为Unicode格式,以防止数据丢失。

一般来说,这个警告没有什么影响。要想去掉这个警告的方法有:

(1)转换Code文件为Unicode格式;

(2)在Project -> Properties -> Configuration Properties -> C/C++ -> Advance 的 Disable Specific Warnings 中添加相应的警告编号:4819;

(3)或找出不符合Unicode格式的文件,然后在该文件的开始处加入下面的语句:

        # pragma warning (disable:4819)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值