BYTE content[10]
0 15 230 136 145 230 152 175 228 184一共5个字。
看上去是2个字节一个字,共10个字节
如何把他们解析成文字呢。不一定是汉字,可能包含特殊文字,数字 英文 韩文 日文 什么的这一串只是汉字 
原文是 我是一只猪

解决方案 »

  1.   

    230 152 175 表示 utf8格式的 “是”
      

  2.   

    ls还真厉害唉。请问怎么用程序解析出这几个字。能给点提示么
    发送方是用的utf8,但是未必c++的utf8
      

  3.   


    //
    utf8_string ( "我是一只猪" ) 
    //--
    utf8_string convert utf16-little-endian format input data to utf8 format
    //--
      input = 11 62 2F 66 00 4E EA 53 2A 73 
    //--
      output = E6 88 91 E6 98 AF E4 B8 80 E5 8F AA E7 8C AA 
    //

    //-----
    Final result --- 0xE6, 0x88, 0x91, 0xE6, 0x98, 0xAF, 0xE4, 0xB8, 0x80, 0xE5, 0x8F, 0xAA, 0xE7, 0x8C, 0xAA, 
    //
      

  4.   

    BYTE content[256];content赋值LPCSTR sText=0;
    MultiByteToWideChar (CP_ACP, 0, sText, -1, (LPWSTR)content, 10 );
    结果sText获得一个错误指针。
    是数据不对还是写的不对。(LPWSTR)content可以这样强转么
      

  5.   

    wchar a[0x10] = L"字符串";
    MultiByteToWideChar (CP_UTF8, 0, a, -1, (LPWSTR)content, 10 );
      

  6.   

    char ansi[ 0x20 ] = "字符串"
    char utf8[ 0x40 ];
    wchar uni[ 0x20 ];MultiByteToWideChar (CP_ACP, 0, ansi, xx, uni, xx );
    WideCharToMultiByte (CP_UTF8, 0, uni, xx, utf8, xx );
      

  7.   

    还是搞不定类。
    就是想把比特流转换成一个可以字符串
    MultiByteToWideChar (CP_ACP, 0, ansi, xx, uni, xx );
    这步得到了一个uni数组,不过还是看不懂
      

  8.   

    #include "stdafx.h"
    #include "windows.h"int main(int argc, char* argv[])
    {
    unsigned char utf8[ 0x10 ] = { 230, 136, 145, 230, 152, 175, };

    unsigned short e[ 0x10 ]; char ansi[ 0x100 ] = ""; MultiByteToWideChar( CP_UTF8, 0, ( char * )utf8, 6, e, 10 ); WideCharToMultiByte( CP_ACP, 0, e, 2, ansi, 10, NULL, NULL ); printf( "%s\r\n", ansi ); return 0;
    }
      

  9.   

    多谢了。
     但是{ 230, 136, 145, 230, 152, 175, };
    只有三个字
    如果要更长这里的参数怎么改啊
    unsigned char utf8[ 0x10 ]为什么定16个字节
    unsigned short e[ 0x10 ];为什么定16个字节
    char ansi[ 0x100 ] = "";为什么定256个字节MultiByteToWideChar( CP_UTF8, 0, ( char * )utf8, 6, e, 10 );
    这里的6和10是怎么定的啊WideCharToMultiByte( CP_ACP, 0, e, 2, ansi, 10, NULL, NULL );
    这里的2和10有是什么讲究比如
     { 230, 136, 145, 230, 152, 175, 230, 136, 145};
    怎么改解析出个 我是我 来
    呵呵,麻烦了