`
mmdev
  • 浏览: 13434425 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

C++实现中英文与UNICODE十六进制字符串互转

 
阅读更多

之前搞过这个中英文与UNICODE十六进制字符串的互转,但是发现有点小问题。现在重新搞了一个,测试中暂时没有发现什么问题。先记录下来。

我尝试使用过MultiByteToWideChar和WideCharToMultiByte来实现这个功能,但是发现不行。也就是无法实现如:

中文English -->4e2d65870045006e0067006c006900730068

4e2d65870045006e0067006c006900730068 -->中文English

这么一个转换,上述的都是字符串。

好看下面的源码:YCodec是自己写的一个类

YCodec.h文件源码:



YCodec.cpp文件源码:


中英文转unicode十六进制字符串实例:


该功能时在MFC程序中测试的。可以做到如下效果:

输入字符串“中文English“ 转换后输出 ”4e2d65870045006e0067006c006900730068“字符串,每个中文或英文转成4个char类型数据。


unicode十六进制字符串转中英文实例:



输入字符串”4e2d65870045006e0067006c006900730068“转换后输出“中文English“ 字符串,每4个char类型数据转成1个中文或英文。


上述代码经测试可行,暂时没发现什么问题。


测试程序及源码:(不用分下载)

http://download.csdn.net/detail/brantyou/4241745


分享到:
评论

相关推荐

    汉字中文十六进制显示转换

    在这些编码中,每个汉字会被转化为一个或多个字节的二进制表示,进一步可以转换成十六进制字符串。 十六进制(Hexadecimal)是逢16进1的进位制,通常用于表示二进制数据,因为它比二进制更简洁。在编程中,我们常常...

    中文转换成ASCII码并用十六进制表示 (转)

    工具可能指的是已有的软件或者库,如Python的内置函数`ord()`和`hex()`,它们可以用来获取字符的Unicode值和转换为十六进制字符串。 压缩文件中的“基于mysql主从复制,测试对临时表和内存表的支持! - 日志 - ...

    C++中英混合字符串截取

    首先,我们要理解在C++中处理字符串的基本方式。C++标准库提供了`std::string`类,它支持字符串的操作,如拼接、截取等。然而,`std::string`默认处理的是ASCII编码,对于包含非ASCII字符(如汉字)的字符串,我们...

    Unicode与ANSI字符串之间的转换

    本文将深入探讨 Unicode 与 ANSI 字符串之间的转换原理及实现方法,并通过一个具体的示例来展示如何在 C/C++ 环境中实现这两种字符串类型的转换。 ### Unicode 与 ANSI 的基本概念 #### Unicode Unicode 是一种...

    用C++来实现UrlEncode

    在C++中实现这一功能涉及到对字符串的遍历、字符识别以及ASCII码与十六进制之间的转换。 #### 核心概念解析 1. **数字和字母不变**:在URL编码中,英文字母(大写和小写)以及阿拉伯数字在编码后保持原样,无需进行...

    C++Builder String,UNICODE,UTF8,ANSI互转的类.rar_c

    本压缩包文件“C++Builder String, UNICODE, UTF8, ANSI互转的类.rar_c”提供了一个专门用于这些转换的类库,帮助开发者在各种编码之间无缝切换。下面我们将详细探讨相关的知识点。 1. **C++Builder String 类型** ...

    普通字符与Unicode代码互换

    TString类提供了对Unicode字符串的支持,而WideChar是一个宽字符类型,它通常占用两个字节,以存储Unicode码点。UTF-16是Unicode的一种变体,它使用16位编码单位,对于BMP内的字符,一个UTF-16编码就能表示一个字符...

    文字编码转对应的汉子

    如果处理的是十六进制字符串,我们还需要使用`&H`前缀来指定数值是十六进制的,或者使用`Hex()`函数将十进制数转换为十六进制字符串。 以下是一个简单的VB代码示例,演示如何将ASCII编码的十六进制字符串转换为汉字...

    c/c++ 字符集 gbk/utf8互转,Ansi/Utf8互转 纯c实现跨平台

    综上所述,`c/c++ 字符集 gbk/utf8互转,Ansi/Utf8互转 纯c实现跨平台`涉及了字符编码理论、字符串处理和跨平台编程技术。通过理解这些知识点,并结合提供的源代码,开发者可以构建出能够在各种环境下正确处理字符...

    多字节与UTF-8、Unicode之间的转换

    2. **UTF-8**:UTF-8是一种可变长度的字符编码,它可以用于编码所有Unicode字符,并且兼容ASCII编码。对于英文等使用较少字节就能表示的文字,UTF-8非常高效。 3. **Unicode**:Unicode是一种标准,旨在为世界上所有...

    MultiByte(ASCII)字符串与WideChar(UNICODE)字符串

    反之,如果需要将Unicode字符串转换为ASCII,可以使用`WideCharToMultiByte`函数。需要注意的是,由于ASCII只支持128个字符,所以转换时可能会丢失某些非ASCII字符,通常会用特定的替换字符(如问号'?')来代替。 5...

    替换文件字符串 utf8 unicode ansi

    综合这些信息,我们可以推断这是一个用于替换不同编码文件(如 UTF-8、Unicode 和 ANSI)中字符串的实用工具,它可能是用 C++ 编写的,并提供了命令行界面以便于集成到自动化流程中。通过理解各种字符编码的原理和...

    二进制转换NEW.汉字转二进制 二进制转换汉字 汉字转二进制

    例如,Python中可以使用`ord()`函数获取字符的Unicode编码,然后使用`bin()`函数将其转换为二进制字符串。 `.classpath`和`.project`是Java开发环境中的配置文件,它们与项目构建和编译设置有关,但不直接涉及汉字...

    VC ASCII,UNICODE,UTF8字符串互相转换的C++代码

    UTF-8的优势在于其与ASCII的兼容性,前128个Unicode字符与ASCII编码相同,这使得许多ASCII处理的库和工具可以无缝地处理UTF-8编码的文本。 在C++中进行这些编码间的转换,通常需要使用一些库函数或者自定义的实现。...

    在C和C++中使用Unicode

    取而代之的是使用`wchar_t`类型,并在字符串字面量前添加前缀`L`以表示Unicode字符串。例如:`wchar_t *sz = L"Hello, World!";` - 字符串处理函数也需要相应地替换为Unicode版本,例如`wcscpy()`、`wcscat()`等。 ...

    计算中英文字符长度

    这个名为"计算中英文字符长度"的工程提供了一个实用的示例,演示了如何区分并统计字符串中的中文和英文字符。下面我们将深入探讨相关的知识点。 首先,我们要了解字符编码。在计算机中,字符是以特定的二进制形式...

    c++实现文本中单词和汉字的统计

    首先,我们需要理解C++中的字符串处理。C++标准库提供了`<string>`头文件,它包含了`std::string`类,用于处理和操作字符串。我们可以用`std::getline`函数从输入流(如文件)中读取一行文本,然后通过`std::...

    两个C++类:UTF8自动转换至Unicode,Unicode自动转换至UTF8

    压缩包中的`Utf8String.h.txt`和`UnicodeString.h.txt`可能包含了用于处理UTF8和Unicode字符串的类定义。通常,这样的类会提供以下功能: 1. 构造函数:接受不同编码的字符串,自动转换为内部存储的编码格式。 2. ...

Global site tag (gtag.js) - Google Analytics