关于utf8范围内写文件的问题?

webchoirsql 2005-09-16 09:51:38
我想向文件中写一个十六进制值为\x80的字符。
StreamWriter sw = new StreamWriter("test.txt",false, new UTF8Encoding());
sw.Write("\x80");
sw.Close();
为什么写完以后,用ultraEdit打开以后,十六进制察看,不只写了 80前面还多个c2。
...全文
220 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
shilyzhong 2005-09-16
  • 打赏
  • 举报
回复
StreamWriter sw = new StreamWriter("test.txt",false, new System.Text.UTF8Encoding());
int ia = 0x80;
char c = (char)ia;
sw.Write(c);
sw.Close();
wuyi8808 2005-09-16
  • 打赏
  • 举报
回复
using System.IO;
using System.Text;

class Test
{
static void Main()
{
FileStream fs = new FileStream("test.txt", FileMode.Create);
BinaryWriter w = new BinaryWriter(fs, new UTF8Encoding(false));
w.Write((byte)0x80);
w.Close();
fs.Close();
}
}

/*
F:\Test>dir test.txt

驱动器 F 中的卷是 Data
卷的序列号是 7010-F275

F:\Test 的目录

2005-09-16 10:53 1 test.txt
1 个文件 1 字节
0 个目录 11,535,839,232 可用字节
*/
webchoirsql 2005-09-16
  • 打赏
  • 举报
回复
那我如何能只写一个80进去?
jimh 2005-09-16
  • 打赏
  • 举报
回复
utf8是双字节编码,每一个字符都占用两个字节。

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧