众所周知,Source Insight不支持UTF-8格式编码。目前本人所使用的3.5版本是不支持的,后续版本不知是否考虑支持。
对于有编码洁癖,又钟爱Source Insight的人来说,遇到不得不在代码中嵌入UTF-8的情况,真的很头疼。这里通过“hello, world”的例子(test.c),介绍一种折中的办法,把代码中的UTF-8字符(例如汉字)转换成其UTF-8的编码后,间接解决这个问题。
6行是“你好,世界”的UTF-8格式码的直接输入;7行是“你好, 世界”转换好的UTF-8编码的输入。8行和9行挪动了其中的编码位置。汉字的UTF-8编码是3个16进制的数字。
运行后的结果如下:
由此可见,5、6、7行运行的结果是等价的。而8行说明了,不同汉字的UTF-8编码(即3个连续的16进制数字与另外3个连续的16进制数字)之间是可以加空格的,而同一个汉字的编码(即3个连续的16进制数字)里面是不能包含空格的。
以上的方法仅供参考,孰优孰劣,视实际情况和个人爱好而定。末了,提一句,汉字的UTF-8编码可以通过notepad++之类的文本编辑工具进行转换。