老船长

任何的限制,都是从自己的内心开始的。

导航

2015年12月3日 #

C#中string在内存中是如何表示的

摘要: 不知道你是否有过和我一样的疑问,不同编码的字符串是如何存储在运行时的内存中的呢,计算机在操作string类型的对象时,如何知道这个string是什么编码呢?和文本文件那样有类似BOM的东东在string对象里?答案是,内存中是无关编码的。统一使用UCS2(注意,这里为什么不说是UTF16,见下文)编... 阅读全文

posted @ 2015-12-03 15:58 shenzhigang 阅读(1294) 评论(0) 推荐(0) 编辑

UCS2和UTF16有区别

摘要: UCS2是定长的,固定2个字节,所以不能支持扩展字符,而UTF16是变长的。UCS2是落伍的。msdn里有这样一段描述:UCS-2 is a predecessor of UTF-16. UCS-2 differs from UTF-16 in that UCS-2 is a fixed-lengt... 阅读全文

posted @ 2015-12-03 10:39 shenzhigang 阅读(1195) 评论(0) 推荐(0) 编辑

网页编码小结

摘要: 1.外部js文件按照script的charset属性,加载时转码为当前网页相同编码。2.script没有charset属性时,按照当前网页编码去加载外部js。3.如果网页文件保存为有BOM时,IE11和chrome都会在打开时按照BOM中编码。(meta中charset无效)4.如果网页文件保存为无... 阅读全文

posted @ 2015-12-03 09:40 shenzhigang 阅读(415) 评论(0) 推荐(0) 编辑

有关emoji表情以及utf-16编码

摘要: 昨日IOS组的同事遇到一个棘手的问题:当输入框内含有emoji表情时,如何获取文本框内的字符数(一个emoji表情算一个字符)。 先从我最近接触的JAVA说起,JAVA中,在使用String的length方法时,如果是普通的中英文字符,没有问题,但是如果该字符的Unicode编码大于0xFFF... 阅读全文

posted @ 2015-12-03 09:36 shenzhigang 阅读(3741) 评论(0) 推荐(0) 编辑