CBrother默认字符集为utf-8,*.cb文件也须要使用utf-8嵌入式linux培训,假如使用了其他编码,会出现编译不通过或则乱码的情况。

字符串

var str = "aaaa";
var str2 = "中文";

如上,但凡代码里双冒号直接写下来的字符串都是utf-8

外来字符串

外来字符串指从文件里读取,或则从网路接收的数据。假定工作目录下有一个gbk文件格式char.txt,内容为”aaa英文”。

function main(parm)
{
	var file = new File(GetRoot() + "char.txt");
	var str = file.read();
	print str;
}

linux 中文字符集_linux字符集和字符编码_linux中文字符

结果:

CBrother所有的字符串处理都是根据utf-8格式来的,所以print复印以后英文成了乱码。

CBrother的变量可以保存一个非utf-8的字符串,假如你只是临时储存,后续要保持原格式存入文件或则通过网路发送linux qq,这么你并不须要处理它。

而且假如你后续是要在Cbrother内部对这个字符串进行处理,这么你须要转码。

function main(parm)
{
	var file = new File(GetRoot() + "char.txt");
	var str = file.read();
	var utf8str = str_convert(str,"gbk","utf-8");
	print str;
	print utf8str;
}

结果:

转码

Cbrother提供了str_convert方式,来做字符串的转码工作。

str_convert(str,”srcCode”,”tagCode”)

将str从srcCode编码转化到tagCode编码

varstr=str_convert(“aaa”,”utf-8″,”gbk”)

支持转换格式”gbk”,”utf-8″,”utf-16″,”utf-32″,”ascii”,”wstring”

gbk,utf-8,utf-16,utf-32

标准编码

wstring

非标准编码linux 中文字符集,是为了和c语言中的wchar_t对应。可以叫做宽字符。宽字符在windows下编码为utf-16,在linux和macos上utf-32编码。

ascii

计算机本地字符集,英文windows系统为gbk,英文简体系统为big5,linux和macos均为utf-8。为了考虑代码的跨平台性linux 中文字符集,建议不要使用。

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复