根据Unicode编码输出字符

本文介绍了如何在C#和C++中处理字符编码的问题,包括如何将Unicode编码的字符输出到文件,并通过特定编辑器查看。文章还解释了两种语言中char类型的不同之处。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

估计,屏幕不可能输出所有的字符。

在C#中,输出一个char的编码很简单,直接强制转换:

String fileContent;
int sub = (int)fileContent[i]; 

 

反过来就有点麻烦了。可以写进文件中,然后扔进去可以显示UNICODE16的编辑器中(例如,秀丸)。

已知一个字符的unicode码,写进文件中,方法是:

StreamWriter sw = new StreamWriter("c:\\test.txt", false, Encoding.Unicode);
sw.Write("\x2018");
sw.Close();

对于C++,则有:

        CFile cFile;
	cFile.Open(_T("d: \\test.txt"), CFile::modeWrite | CFile::modeCreate);
	//文件开头
	cFile.SeekToBegin();
	cFile.Write("\xff\xfe", 2);//UNICODE编码的头
	//写入内容
	cFile.Write("\x18\x20", 2);
	cFile.Flush();
	cFile.Close();

C++中,char为8位,C#中为16位,是不一样的。所以,在C++中,转义字符表示八进制和十六进制只能是:

\ddd 任意字符 三位八进制
\xhh 任意字符 二位十六进制

转载于:https://www.cnblogs.com/plmnko/archive/2010/10/03/1841510.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值