美文网首页
字符编码

字符编码

作者: 7bfedbe4863a | 来源:发表于2018-01-18 23:49 被阅读0次

    今天在调试的时候,出现的打开注册表的时候,SubKey为中文或特殊符号时,返回2,它的路径是存在的,并且也没有重定向的问题(在打开方式的时候已经判断了),所以想,应该是字符编码的问题,emmmm,具体是不是这样明天上班去试一下就知道了。

    先看一下关于字符编码的问题(以下来自Windows核心编程):

    ANSI

    由一个字节表示符号,也就是256个符号,这不足以表示所有的字符,比如汉字,这就要用到双字节字符集了。
    char c = 'a';
    typedef char CHAR;
    typedef CHAR *PCHAR;
    typedef CHAR *PSTR;
    typedef CONST CHAR *PCSTR;

    Unicode

    wchar_t c = L'a';
    typedef wchar_t WCHAR;
    typedef WCHAR *PWCHAR;
    typedef WCHAR *PWSTR;
    typedef CONST WCHAR *PCWSTR;

    使用TEXT可以将字符串转换为所需要的ANSI或Unicode

    UTF-Unicode转换格式
    UTF-8
    UTF-16(常用)用16位表示字符,无法表示的某些字符,它支持代理。(代理:用32位(4个字节)表示一个字符)
    UTF-16

    Windows提供的API

    Windows提供的API参数包含字符串的,通常会有两个版本,W版本和A版本。W版本是接受Unicode字符串的(宽字符16位宽);A版本接受ANSI字符串。在使用时一定要看好自己的字符串里面究竟包含了什么样的内容,选择合适的版本。

    相关文章

      网友评论

          本文标题:字符编码

          本文链接:https://www.haomeiwen.com/subject/imbgoxtx.html