别怕Linux编程

Google C++编程规范 – 第二条 -《请用ASCII字符》

本原创文章属于《Linux大棚》博客。

博客地址为http://roclinux.cn

文章作者为roc

==

在讲解之前,先科普一下什么是ASCII字符吧:

ASCII(American Standard Code for Information Interchange,美国信息交换标准代码),是基于拉丁字母的一套电脑编码系统。它主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,ASCII总共可以表示128个不同的字符,包括可见字符和控制字符。(我们会在本文末尾放上ASCII字表,以便大家查询)

好了,在科普了ASCII之后,我们言归正传,回到Google编程规范:

【规范】

“请尽量少使用非ASCII字符,如果不得已,也请使用UTF-8。”

【评语】

用户界面中的文本信息,是不应该硬编码到代码中的,即使是英文文本也不应该。

如果你遵守的话,那么代码中需要用到非ASCII字符的机会会非常的少。

只有在一些特殊场景下才需要,比如你的程序需要解析一个外文文件,那么你可能需要在代码中硬编码一些非ASCII字符。另外,一些本地化的单元测试程序,不可避免的需要在测试代码中包含一些有关本地语言的字符。

在这些情况下,你应该使用UTF-8编码,这是因为UTF-8是一种绝大多数工具都有能力读懂和处理的编码方式。

在一些场景下,十六进制编码也可以有效提高代码可读性的,所以十六进制编码在这些场景下也是可以被接受的,比如\xEF\xBB\\xBF就代表了UNICODE中的Zero-Width  no-break space字符,而这个字符如果转换为UTF-8编码,则是不可见的。

我们来看这张ASCII字表:

ASCII字表
ASCII字表

谢谢!

5条评论

发表您的评论

请您放心,您的信息会被严格保密。必填项已标识 *