`
zerosoul
  • 浏览: 25540 次
  • 性别: Icon_minigender_1
  • 来自: Earth
社区版块
存档分类
最新评论

Unicode与char *转换 - WideCharToMultiByte/MultiByteToWideChar

阅读更多
WideCharToMultiByte:Unicode转char *(宽字节转多字节)
MSDN:http://msdn.microsoft.com/en-us/library/dd374130(VS.85).aspx
#include "stdafx.h"
#include "stdio.h"
#include "windows.h"

int _tmain(int argc, _TCHAR* argv[])
{
	TCHAR strWideChar[] = _T("zerosoul");	//Unicode宽字节编码字符串strWideChar
	//获得转换后的字符串长度n_len
	int n_len = WideCharToMultiByte(CP_ACP,NULL,strWideChar,-1,NULL,0,NULL,NULL);
	char* strMultiByte = new char[n_len];	//ANSI多字节编码字符串strMultiByte
	WideCharToMultiByte(CP_ACP,NULL,strWideChar,-1,strMultiByte,n_len,NULL,NULL);  //开始转换

	printf("strMultiByte : %s\n",strMultiByte);
	return 0;
}


MultiByteToWideChar:char *转Unicode(多字节转宽字节)
MSDN:http://msdn.microsoft.com/en-us/library/dd319072(VS.85).aspx
#include "stdafx.h"
#include "stdio.h"
#include "windows.h"

int _tmain(int argc, _TCHAR* argv[])
{
	char strMultiByte[] = "zerosoul";	//ANSI多字节编码字符串strMultiByte
	//获得转换后的字符串长度n_len
	int n_len = MultiByteToWideChar(CP_ACP,NULL,strMultiByte,-1,NULL,0);
	TCHAR* strWideChar = new TCHAR[n_len];	//Unicode宽字节编码字符串strWideChar
	MultiByteToWideChar(CP_ACP,NULL,strMultiByte,-1,strWideChar,n_len);	//开始转换

	_tprintf(_T("strWideChar : %s\n"),strWideChar);
	return 0;
}
分享到:
评论

相关推荐

    char*转为LPCWSTR

    ### char* 转换为 LPCWSTR 的方法与原理 在进行编程时,尤其是在 Windows 平台上使用 C 或 C++ 进行开发时,我们经常会遇到不同字符编码之间的转换问题。例如,在本篇中我们将讨论如何将 `char*` 类型的字符串转换...

    Unicode下CString与char*之间的转换(vs2008绝对实用)

    本文主要介绍在Unicode环境下,如何在CString与char*之间进行转换。 首先,我们来看Unicode下的CString转换为char*的方法: 1. 使用API `WideCharToMultiByte` 进行转换: ```cpp CString str = _T("D://校内...

    cstring的相关知识.docx

    - **MultiByteToWideChar**: 用于从多字节编码转换到宽字符编码。 #### 十一、CString及字符串操作详解 - **CString类对象的初始化**: - 默认初始化。 - 使用构造函数初始化。 - **字符串基本操作**: - 拼接...

    char与wchar_t互转

    本文将详细介绍如何在C++中实现`char`类型与`wchar_t`类型的互相转换,并通过具体的代码示例来解释这一过程。 #### 核心知识点 1. **宽字符与多字节字符**:`char`类型通常用于存储单字节字符,而`wchar_t`类型则...

    UNICODE和GBK编码转换

    本文将详细介绍如何在Windows平台上实现UNICODE与GBK(简体中文编码)之间的转换。这涉及到字符集的基础知识、Windows API函数的使用以及具体的代码实现。 #### 字符编码简介 在计算机科学领域,字符编码是将文本...

    unicode与asc的区别及转换

    #### 二、转换函数WideCharToMultiByte与MultiByteToWideChar **1. WideCharToMultiByte函数:** ```cpp int WideCharToMultiByte( UINT CodePage, // 指定目标字符集页 DWORD dwFlags, LPCWSTR lpWideCharStr,...

    Unicode、Ascall、UTF8相互转化

    - **UTF-8 与 Unicode:** UTF-8 是 Unicode 的一种编码形式,Unicode 码点通过特定的规则被转换成一个或多个字节。 #### 四、编码转换代码实现 以下是一些示例代码片段,用于演示如何在 Unicode、ASCII 和 UTF-8 ...

    CString-const-char-char-to-WCHAR.rar_CString To Char_char wchar_

    本文将详细讲解如何在UNICODE环境下,使用C++的CString类进行宽字符(WCHAR)与const char及char之间的转换。这些转换在处理字符串资源,如文件路径、用户输入或系统API调用时至关重要。 首先,`CString`是...

    MultiByteToWideChar和WideCharToMultiByte用法详解

    其中,`MultiByteToWideChar` 和 `WideCharToMultiByte` 是两个非常常用的函数,用于实现多字节字符与宽字符之间的相互转换。 #### 二、基础知识 ##### 1. 短字符与宽字符 - **短字符**:即用8位(bit)表示的字符...

    VS2010下类型转换详细说明,附带程序源码,vs2010下亲测

    3. **使用`MultiByteToWideChar`和`WideCharToMultiByte` WinAPI函数**: - 这两个Windows API函数提供了从多字节字符串到宽字符字符串,以及从宽字符字符串到多字节字符串的转换。它们提供了更多的控制,例如指定...

    GB简繁转换,GB与BIG5内码转换

    - 使用`MultiByteToWideChar`将BIG5字符串转换为Unicode字符串。 - 使用`WideCharToMultiByte`将Unicode字符串转换为GB编码字符串。 - 最后利用`LCMapString`函数将GB繁体转为GB简体。 - **示例代码**: ```...

    MFC工程中,几种常见数据类型的转换

    在 Unicode 字符集下,Char* 转换为 CString 可以使用 MultiByteToWideChar 函数或 A2T 函数。 方法一:使用 MultiByteToWideChar 函数 char * pFileName = “D://校内项目//QQ.bmp”; int charLen = strlen...

    CString转UTF8,UTF8转CString

    ### CString与UTF-8之间的转换方法 在C++编程中,尤其是在使用Microsoft Foundation Classes (MFC)库进行Windows应用程序开发时,字符串处理是一项常见的任务。本文将详细介绍如何在MFC中实现`CString`对象与UTF-8...

    (资料大全加程序)C++ 字符串之间的相互转化 宽字符与多字符集(LPTSTR、LPCSTR、LPCTSTR、LPSTR)

    - **窄字符串(ANSI)到宽字符串(Unicode)**:可以使用`MultiByteToWideChar`函数,该函数接受一个编码格式(如CP_ACP表示ANSI编码),并返回一个宽字符数组。 - **宽字符串到窄字符串**:使用`...

    各种字符编码间的转换方法:MultiByteToWideChar和MultiByteToWideChar.docx

    字符编码间的转换方法:MultiByteToWideChar和WideCharToMultiByte 在计算机科学中,字符编码是一种将文本数据转换为二进制数据的方式。不同的编码方式可以将同一个字符表示为不同的二进制码,从而导致不同的计算机...

    MBCS编码和UNICODE编码的相互转换.pdf

    - `WideCharToMultiByte`:将Unicode字符串转换为MBCS字符串。 - `MultiByteToWideChar`:将MBCS字符串转换为Unicode字符串。 在处理字符串长度时,需要注意Unicode编码下,一个中文字符占用2个字节,因此不能简单...

    EVC下UNICODE的字符串的输出问题

    - 当需要进行 Unicode 和 ANSI 字符串之间的转换时,可以利用 `WideCharToMultiByte` 或 `MultiByteToWideChar` 函数来实现。 通过掌握这些技巧,开发者可以在 EVC 环境下更加高效地处理 Unicode 字符串,从而提升...

    普通字符与Unicode代码互换

    1. **字符转Unicode编码**:对于普通字符,我们可以直接使用C++Builder中的函数,如WideCharToMultiByte和MultiByteToWideChar。前者将宽字符转换为多字节字符串,后者反之。在转换过程中,需要指定目标编码格式,...

    VC/MFC.CString操作指南

    4. **CString与char*的相互转换** - **char*到CString**:可以直接赋值或使用构造函数。 ```cpp const char* psz = "Hello"; CString str(psz); ``` - **CString到char***: - **LPCTSTR强制转换**: ```...

    各种字符编码间的转换方法:MultiByteToWideChar和MultiByteToWideChar.pdf

    WideCharToMultiByte函数是将宽字符字符串转换为多字节字符字符串的函数,其原型与MultiByteToWideChar函数相似。 在实践中,MultiByteToWideChar和WideCharToMultiByte函数是经常用的字符编码转换函数,例如将...

Global site tag (gtag.js) - Google Analytics