中文字符串

使用 Clozure CL 在 Cocoa 窗口组件中实现显示中文字符串的简单方法

早过忘川 提交于 2019-12-07 07:51:10
使用 Clozure CL 在 Cocoa 窗口组件中实现显示中文字符串的简单方法 目录 0 概述 1 Objective-C 和 Lisp 的不同方法 2 英文标题代码示例 3 中文标题代码示例 0 概述 我们知道, 在 Cocoa 中提供了两种字符串类: NSString 和 NSMutableString, 前者用于处理内容不变, 固定的字符串, 比如窗口标题; 后者用于处理内容可变的字符串, 当然后者也可以用于前者的使用场合. 因为后者 NSMutableString 类是在继承 NSString 类的继承上创建的, 所以 NSMutableString 具有NSString 中所有的功能. 1 Objective-C 和 Lisp 的不同方法 在 Objective-C 代码中通常会使用如下的格式来定义字符串: NSString string = @"This is my string"; 语法非常简单明了, 但是有一个问题:使用加 @ 符号的方式只能定义英文数字字符串, 如果想定义中文等多字节字符串, 这种方法是不支持的. 下面给出一种 Objective-C 中定义中文字符串的示例: NSString* string; string = [NSString stringWithCString:"你好,我是中文字符串!" encoding

C语言-处理中文字符串注意事项

微笑、不失礼 提交于 2019-12-04 19:01:52
Note1: 由于一个汉字占2个字节(Byte),而一个英文字母占1个字节(Byte),所以用char str[LENGTH] 定义汉字字符串的时候,一定要注意LENGTH的取值,以保证有足够的空间存储汉字字符串。 例如:当汉字字符串为 “诸葛亮是个好孩子”(共8个汉字)时 LENGTH的值最小应该为 2*8+1=17: 即:char str[17]; 最后的那个+1是为了存储‘\0’,字符串的结尾符号 Note2: 汉字所占的字节数依赖于操作系统 WIN7-32bit: 一个汉字占2个字节,标点符号同样占2个字节,数字占1个字节,字符串结束标志‘\0’占一个字节。 Linux(CentOS-32bit: 一个汉字占3个字节,逗号和句号同样占3个字节,‘~’占一个字节,数字占1个字节,字符串结束标志‘\0’占一个字节。 来源: oschina 链接: https://my.oschina.net/u/1538037/blog/213711