💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# 【知识精讲】中文和英文字符 ## Part1 细心的同学可能会注意到,输入法工具条上,有一个月牙形的标志[![](http://res.jisuanke.com/img/upload/20151218/4cd145e08f92c38941e1e21bb630cb45c31d996a.png)](http://res.jisuanke.com/img/upload/20151218/4cd145e08f92c38941e1e21bb630cb45c31d996a.png),这个标志有的时候会给我们带来一些意想不到的麻烦…… 传统上,在英语或者其他拉丁字母语言使用的计算机系统中,每一个字母或者符号都使用一个字节的空间来存储——而对于方块字系统,比如中文、日文或者韩文,因为文字数量太大,通常使用两个字节来储存。 在使用固定宽度文字的地方,比如各种编程工具或者计蒜客的在线代码框,我们输入的字母和英文标点符号都使用一个字节的空间来存储,并占一个空格的宽度。这些占用一个空格宽度的字符被称为半角字符。而汉字或者中文标点则占用大于一个空格的宽度,被称为全角字符。 ## Part2 对于输入法来说,有些字符,比如英文字母或者阿拉伯数字,虽然是半角,但你可以点击我们上面看到的那个月牙形标志,或者按键盘上的 Shift + Space 键,强制其按照全角字符输入。如下图所示——请注意第一行的半角数字与最后一行的全角数字之间的区别。 | 半角字符 | 0123456789 | | --- | --- | | 全角字符 | 0123456789 | 此外,对于同一个标点符号,在中文和英文状态下输入得到的结果也是不同的:如果键盘上的某个符号,在中文中恰好有对应的标点符号的话,那么输入法在中文输入状态下就会将其转化为中文标点。仔细观察可以看出,中文字符通常要比对应的英文字符宽一些。 | 标点名称 | 英文标点 | 中文标点 | | --- | --- | --- | | 逗号 | , | , | | 分号 | ; | ; | | 小括号 | () | () | | 中括号 | \[\] | 【】 | | 单引号 | ' ' | ‘ ’ | | 双引号 | " " | “ ” | | 冒号 | : | : | | 感叹号 | ! | ! | | 问号 | ? | ? | ## Part3 这个功能对于文字工作来说可以带来一定的方便,但是对于编程来说却容易给我们带来不必要的麻烦——一般情况下,除了注释或者表示字符串的特定位置之外,编程过程中是不允许出现任何全角字符的,否则程序会报错。 如果你在后面的代码课中遇到程序报错,而你自己确认代码中没有中文标点或逻辑错误,可以检查一下是不是有些容易混淆的字符搞错了。容易混淆的主要就是这样两对组合:数字 0 和字母 O,数字 1 和字母 l。