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;
}
结果:
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 中文字符集,建议不要使用。