根据Unicode编码输出字符

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

在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 任意字符 二位十六进制

posted @ 2010-10-03 01:32  irischan  阅读(3298)  评论(0编辑  收藏  举报