随笔分类 - VC++ Unicode编码应用
摘要:最近在考虑写一个可以跨平台的通用字符串类,首先需要搞定的就是编码转换问题。 vs默认保存代码文件,使用的是本地code(中文即GBK,日文即Shift-JIS),也可以使用带BOM的UTF-8。gcc则是UTF-8,有无BOM均可(源代码的字符集可以由参数-finput-charset指定)。那么源
阅读全文
摘要:学习高效编程的有效途径之一就是阅读高手写的源代码,CRT(C/C++ Runtime Library)作为底层的函数库,实现必然高效。恰好手中就有glibc和VC的CRT源代码,于是挑了一个相对简单的函数strlen研究了一下,并对各种实现作了简单的效率测试。strlen的函数原形如下: size_
阅读全文
摘要:#include <iostream> using namespace std; template<typename T> class _ischararray_; template<typename T, int N> class _ischararray_<T[N]> { public: sta
阅读全文
摘要:void *memccpy (void *dest, const void *src, int c, size_t n); 从src所指向的对象复制n个字符到dest所指向的对象中。如果复制过程中遇到了字符c则停止复制,返回指针指向dest中字符c的下一个位置;否则返回NULL。 void *mem
阅读全文
摘要:https://msdn.microsoft.com/en-us/library/k59z8dwe.aspx
阅读全文
摘要:1、简述 最近在发送网络请求时遇到了中文字符乱码的问题,在代码中调试字符正常,用抓包工具抓的包中文字符显示正常,就是发送到服务器就显示乱码了,那就要将客户端和服务器设置统一的编码(UTF-8),而我们程序中 一般用的是Unicode编码,所以这就需要将中文字符转为UTF-8格式的,其他英文字符和数字
阅读全文
摘要:本文来自:http://tech.ddvip.com/2007-03/117395585321221.html 一、什么是Unicode 先从ASCII说起,ASCII是用来表示英文字符的一种编码规范。每个ASCII字符占用1个字节,因此,ASCII编码可以表示的最大字符数是255(00H—FFH)
阅读全文
摘要:大小写转换和性能 前言 本文主要讨论最基本的一些大小写转换函数和API,不讨论一些常见的字符串程序库里面的大小写转换接口,另外本文的落脚点是这些转换函数的性能和日常开发中遇到的一些问题。 不考虑范围 其实ctype.h里面有定义一套宏,就是不考虑字符是否落在A-Z,a-z范围,直接计算(直接用加减法
阅读全文
摘要:Copy-on-write(以下简称COW)是一种很重要的优化手段。它的核心思想是懒惰处理多个实体的资源请求,在多个实体之间共享某些资源,直到有实体需要对资源进行修改时,才真正为该实体分配私有的资源。 COW技术的一个经典应用在于Linux内核在进程fork时对进程地址空间的处理。由于fork产生的
阅读全文
摘要:先看看这篇关于Windows编码的文章:http://blog.csdn.net/shyboy_nwpu/article/details/4431668 再看看这篇关于两个函数参数和用法的说明:http://www.cnblogs.com/wind-net/archive/2012/10/10/27
阅读全文
摘要:[cpp] view plain copy void DumpEnvironmentStrings() { #define MAX_ENVIRONMENT_NAME_LENGTH (128) #define MAX_ENVIRONMENT_VALUE_LENGTH (1024) LPTSTR lps
阅读全文
摘要:C++ Unicode SBCS 函数对照表,以备日后查阅 Generic SBCS UNICODE TCHAR char wchar_t _TEOF EOF WEOF _TINT int wint_t _TSCHAR signed char wchar_t _TUCHAR unsigned cha
阅读全文
摘要:转自 http://www.blogjava.net/baicker/archive/2007/08/09/135642.html 转自 http://witmax.cn/character-encoding-notes.html 写了n年程序,近来在字符串上栽了。:( 认真的研究了一些关于字符串的
阅读全文
摘要:17down voteaccepted Here's some code. Only lightly tested and there's probably a few improvements. Call this function to convert a UTF-8 string to a U
阅读全文
摘要:简介 如果你编写的程序是针对非英语国家的用户,如中国、日本、东欧和中东地区,那么你一定要熟悉 UNICODE 字符集。尤其是用 Visual C++/MFC 编写针对上述国家和地区的用户的程序时,如果你想让自己的应用程序得到更广泛的用户,那么必须考虑代码 UNICODE 的兼容性,也就是说它既在 A
阅读全文
摘要:什么是NChardet NChardet是mozilla自动字符编码识别程序库chardet的.NET实现,它移植自jchardet,chardet的java版实现,可实现对给定字符流的编码探测。 NChardet是如何工作的 NChardet通过逐个比较输入字符来猜测编码;由于是猜测,所以可能会有
阅读全文
摘要:几天前偶尔看到有人发帖子问“如何自动识别判断url中的中文参数是GB2312还是Utf-8编码” 也拜读了wcwtitxu使用巨牛的正则表达式检测UTF8编码的算法。 使用无数或条件的正则表达式用起来却是性能不高。 刚好曾经在项目中有类似的需求,这里把处理思路和整理后的源代码贴出来供大家参考 先聊聊
阅读全文
摘要:wchar_t是C/C++的字符数据类型,是一种扩展的字符存储方式,wchar_t类型主要用在国际化程序的实现中,但它不等同于unicode编码。unicode编码的字符一般以wchar_t类型存储。char是8位字符类型,最多只能包含256种字符,许多外文字符集所含的字符数目超过256个,char
阅读全文
摘要:01 VOID RtlInitUnicodeString (OUT PUNICODE_STRING DestinationString,IN PCWSTR SourceString OPTIONAL) 02 { 03 SIZE_T Length; 04 DestinationString->Maxi
阅读全文