unicode? multibyte character?Windows系统 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

    宽字符的转换问题 multibyte character 到 wide character 的转换,和unicode有关系吗?本来我以为有,现在看来似乎没有,

unicode? multibyte character?Windows系统

。 我在hp-ux下写的程序表明,将multibyte character 转成 wide character之后,我可以象处理单个英文字符一样来处理单个汉字。但是这个

宽字符的转换问题

    multibyte character 到 wide character 的转换,和unicode有关系吗?本来我以为有,现在看来似乎没有。

    我在hp-ux下写的程序表明,将multibyte character 转成 wide character之后,我可以象处理单个英文字符一样来处理单个汉字。但是这个汉字的编码却仍然是multibyte时的编码。

    虽然这样对于我的处理并没有关系,但是今后如果希望在程序中取得汉字的unicode值,就不知道该怎么做了。

    //filename:widechar.cpp

    #include<iostream>

    #include

    #include

    #include

    namespace std {} using namespace std;

    void transline(string &k )

    {

    wstring wline;

    wchar_t wcs[512];

    mbstowcs(wcs, k.c_str(),512 );

    wline=wstring(wcs);

    cout<<"wide value:"<

    return;

    }

    int main()

    {

    string cellpart="┌─┬┐│├┤┼└┴┘";

    setlocale(LC_CTYPE, "");

    int i=0;

    i=cellpart[0];

    cout<<"multibyte value:"<

    transline(cellpart);

    return 0;

    }

    编译命令:

    aCC -AA +DD64 widechar.cpp -I/opt/aCC/include_std -lstd_v2 -lCsup_v2 -o

    widechar

    运行结果:

    ipp:/ipp/workbench/c++>./widechar

    multibyte value:ffffffa9

    wide value:a9b0

    原文转自:http://www.ltesting.net

最新文章