C++编程 Unicode转换成中文

谢_待雪*初平、使用VS2019编写Unicode转换成中文,即:UnicodeToChinese

输入:\u5f85\u96ea\u521d\u5e73\u548c\u671b\u65ad\u79cb\u9ad8

输出:待雪初平和望断秋高

C++控制台项目:Unicode和中文的相互转换——下载地址:

https://download.csdn.net/download/wangduanqiugao/11924338

VS2019的C++控制台项目(x64\x86\Debug\Release已编译)

#include <atlstr.h>
#include <string.h>
#include <iostream>
using namespace std;

bool UnicodeToChinese(string str, CString&  cstr)
{
    int i = 0;
    int j = 0;
    int len = 0;

    len = str.length();
    if (len <= 0)
    {
	return false;
    }

    int nValue = 0;
    WCHAR * pWchar;
    wchar_t* szHex;
    char strchar[6] = { '0','x','\0' };

    for (i = 0; i < len; i++)
    {
	if (str[i] == 'u')
	{
	    for (j = 2; j < 6; j++)
	    {
		i++;
		strchar[j] = str[i];
	    }

	    USES_CONVERSION;
	    szHex = A2W(strchar);

	    StrToIntExW(szHex, STIF_SUPPORT_HEX, &nValue);
	    pWchar = (WCHAR*)& nValue;

	    cstr = cstr + pWchar;
         }
    }
    return true;
}

int main()
{
    string  m_Unicode = "\\u5f85\\u96ea\\u521d\\u5e73\\u548c\\u671b\\u65ad\\u79cb\\u9ad8";
    CString m_UnicodeToChinese;

    //UnicodeToChinese
    UnicodeToChinese(m_Unicode, m_UnicodeToChinese);

    wcout.imbue(locale("chs"));
    cout << m_Unicode << "\n" << "UnicodeToChinese:" << "\n";
    wcout << m_UnicodeToChinese.GetString() << endl;
    getchar();
}

 

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: UTF-8是一种针对Unicode字符集进行编码的可变长度字符编码方案。它可以用来表示Unicode字符集中的任意字符,包括各种文字、符号和控制字符。UTF-8的编码长度根据字符的Unicode编码值的大小而变化,对于ASCII字符,UTF-8编码与ASCII相同,只需要一个字节表示;对于其他Unicode字符,UTF-8编码需要2到4个字节不等。 Unicode是一种字符集标准,它旨在为世界上所有的字符提供一个唯一的标识符,无论是汉字、拉丁字母、希腊字母、数学符号还是其他任何字符,都可以在Unicode中找到对应的编码。Unicode编码使用一种唯一的数字来表示每个字符,并通过使用不同的换格式(如UTF-8、UTF-16等)将其存储或传输。 C是一种编程语言,可用于开发各种应用程序。在C语言中,可以使用UTF-8编码来处理Unicode字符集。C语言提供了一些处理字符串和字符的库函数,这些函数支持使用Unicode字符集进行字符串操作。通过使用适当的输入输出函数和字符处理函数,C语言可以处理包含Unicode字符的文本数据。 因此,UTF-8、Unicode和C之间存在着密切的联系。UTF-8用于编码Unicode字符集,而C语言提供了处理Unicode字符集的库函数。使用UTF-8编码的Unicode字符集,可以在C语言中进行处理和操作。这为开发人员提供了在C语言中处理多语言文本数据的能力,使得开发国际化应用程序变得更加简便。 ### 回答2: UTF-8是一种以字节为单位对 Unicode 进行编码的字符编码标准。它是一种全球通用的编码方式,能够表示几乎所有语言的字符。UTF-8采用可变长度的编码方式,用1至4个字节来表示一个字符。对于英文字符来说,UTF-8使用1个字节进行编码,而对于其他字符(例如汉字)则需要2至4个字节。由于UTF-8编码的字节数不固定,这也是它比其他编码方式更被广泛使用的主要原因之一。 Unicode是一种字符集标准,它定义了世界上几乎所有的字符和符号,并为它们分配了唯一的标识码,即码点。Unicode标准中包括了超过130万个字符,从最常见的拉丁字母到各种符号、表意文字和表情符号等。Unicode采用的是固定长度的编码方式,其中最常用的是UTF-16和UTF-8。 C语言中,通常使用utf-8编码来存储和处理字符串。由于UTF-8是一种基于字节的编码方式,它与C语言中的字符类型(char)能够相互兼容。在C语言中,可以使用char类型的数组来表示和处理UTF-8编码的字符串,同时也可以使用多字节字符集的函数库来处理UTF-8字符串。 总之,UTF-8是一种按字节编码的 Unicode 字符编码标准,它能够表示全球范围内几乎所有语言的字符。而Unicode是一个字符集标准,用于定义和标识世界上几乎所有的字符和符号。在C语言中,通常使用UTF-8编码来处理和存储字符串。 ### 回答3: UTF-8与Unicode是两种不同的字符编码方式,而C是一种计算机程序设计语言。 UTF-8(Universal Character Set Transformation Format-8)是一种可变长编码的Unicode字符编码方式。它可以用于表示Unicode字符集中的所有字符,包括拉丁字母、中日韩文字等。UTF-8编码使用1至4个字节表示不同的字符,具有较好的兼容性和可变长度特性,使得它在互联网传输中广泛应用。 Unicode是一种字符集标准,它为世界上几乎所有的字符都分配了一个唯一的数字。Unicode的目的是为了实现全球化的字符表示,使得不同国家的字符都能够得到统一的编码。 C是一种广泛应用于系统软件开发和嵌入式系统的高级程序设计语言。它是一种通用的、结构化的、面向过程的编程语言,具有高效、强大和灵活的特点。C语言原生支持ASCII编码,但对于使用UTF-8或Unicode编码的字符,可以使用义序列来表示。 总结起来,UTF-8是一种编码方式,用于表示Unicode字符集中的字符,而C语言是一种程序设计语言,用于编写计算机程序。在C语言中,可以使用义序列来处理UTF-8或Unicode编码的字符。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值