将MultiBytes应用转换成Unicode应用

1,项目属性选择Unicode;

2,添加#include <tchar.h>;

3,所有的""转换成_T("");

4,看具体代码:


for(
std::vector<SEARCH_RESP>::iterator iterator=service.m_tDeviceList.begin();
iterator!=service.m_tDeviceList.end();
iterator++
)
{
//CString csLine;
//csLine.Format(L"*L *%s *%s",iterator->dwDeviceID,iterator->szIpAddr);
TCHAR relt[300];
memset(relt,0,300);
//strcat("L ",iterator->dwDeviceID);
wcscat_s(relt,_T("L "));
wcscat_s(relt,utf8_decode(iterator->dwDeviceID).c_str());
wcscat_s(relt,utf8_decode(iterator->szIpAddr).c_str());
pCMyDialog->m_pCListBox->AddString(relt);
//LOG_INFO()<<"AddString : "<<csLine;
}


std::wstring utf8_decode(const std::string &str)
{
int size_needed = MultiByteToWideChar(CP_UTF8, 0, &str[0], (int)str.size(), NULL, 0);
std::wstring wstrTo( size_needed, 0 );
MultiByteToWideChar(CP_UTF8, 0, &str[0], (int)str.size(), &wstrTo[0], size_needed);
return wstrTo;
}

将MultiBytes应用转换成Unicode应用,布布扣,bubuko.com

时间: 2024-12-23 14:53:48

将MultiBytes应用转换成Unicode应用的相关文章

中文转换成Unicode编码 和 Unicode编码转换为中文

前几天,遇到一个问题,就是在浏览器地址栏传递中文时,出现乱码,考虑了一下,解决方式有很多,我还是采用了转换编码的方式,将中文转换为Unicode编码,然后再解码成中文,以下是实现的过程,非常简单! package cy.code; public class CyEncoder { private String zhStr; //中文字符串 private String unicode;//将中文字符串转换为Unicode编码 存储在这个属性上. public CyEncoder(String z

Python的utf-8转换成unicode再写入文本

转换很好转,就直接是 text.decode('utf-8') 之前import chardet, chardet.detect(text) 看一下原本是什么格式,原本的是utf-8-sig,就用这个decode. 问题是写入的时候出现了问题,一直会出现 UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position 20: ordinal not in range(128) 类似这样的错误,去问了Song

Java - 将vCard中十六进制编码转换成Unicode

做课程设计的时候在处理vCard格式的时候遇到过出现十六进制编码的情况,例如 QUOTED-PRINTABLE:=XX=XX=XX=XX=XX`````` 其中XX代表十六进制数,当然,也有可能在末尾跟着非十六进制的字符串(一般是数字).每一个十六进制数的前面都有一个"=",那么我们需要怎样处理它才能得到我们需要的字符串呢? 先看代码: 1 package Function.Base_Function; 2 3 import java.io.UnsupportedEncodingExc

java 中文转换成Unicode编码和Unicode编码转换成中文

转自:一叶飘舟 http://blog.csdn.net/jdsjlzx/article/details/7058823 package lia.meetlucene; import java.io.IOException; import org.apache.lucene.index.CorruptIndexException; public class Unicode { public static void main(String[] args) throws CorruptIndexEx

字符串和数字之间的转换(Unicode)

1 Unicode编码的字符串转换为数字类型 CString str; str = _T("1234"); int i = _ttoi(str); float f = _tstof(str); 2 数字转换为wchar_t wchar_t c[10]; int num = 100; _itow_s(num,c,10,10进制); wstring str(c); 3 wstring 转换为int wstring str; _wtoi(str.c_str); 那么究竟什么是Unicode?

djnago unicode 转换成str list

from django.core.serializers.json import DjangoJSONEncoder group_name = puppet_host.objects.filter(ip=ip).values_list('host_group',flat=True) g_name = json.dumps(list(group_name), cls=DjangoJSONEncoder) unicode 转换成list definitions_list = [definition.

根据Unicode编码用C#语言把它转换成汉字的代码

rt 根据所具有的Unicode编码用C#语言把它转换成汉字的代码 师傅的代码: public static string UnicodeToGB(string text)         {             System.Text.RegularExpressions.MatchCollection mc = System.Text.RegularExpressions.Regex.Matches(text, "\\\\u([\\w]{4})");             i

JAVA unicode转换成中文

/** * * unicode 转换成 中文 * @param theString * @return */ public static String decodeUnicode(String theString) { char aChar; int len = theString.length(); StringBuffer outBuffer = new StringBuffer(len); for (int x = 0; x < len;) { aChar = theString.char

Unicode字符转换成字符串

/*** * Unicode字符转换成字符串 * @param str * Unicode字符 * @return * String * * @author WXW */ public static String Unicode2String(String str){ Pattern pattern = Pattern.compile("(\\\\u(\\p{XDigit}{4}))"); Matcher matcher = pattern.matcher(str); char ch;