前言:
记得前不久,我在公司封闭式开发的日子里,我在宿舍的机子,被同学弄得满身病毒,其中之一是病毒在所有的html里者插入了一段iframe
之后我一不小心..编了段小程序来替换掉所有的iframe,当时忘了文件编码问题..
现在打开才发现一大堆乱码在里面
现在发现了..当然是要解决了:
简单看了一下文件流读出来的字节.做了简单的文件类型编码判断
代码如下:
1
/// <summary>
2
/// 获得文件编码
3
/// </summary>
4
/// <param name="content">文件流的字节数组</param>
5
/// <returns>字符编码</returns>
6
public static Encoding GetFileEncoding(byte[] content)
7
{
8
if (content.Length > 0)
9
{
10
switch (content[0])
11
{
12
case 104:
13
return Encoding.Default;
14
case 255:
15
return Encoding.Unicode;
16
case 254:
17
return Encoding.BigEndianUnicode;
18
case 239:
19
return Encoding.UTF8;
20
default:
21
return Encoding.Default;
22
}
23
}
24
return Encoding.Default;
25
}
这里只简单做了一下.有更复杂,自己扩展去吧!
2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

反正代码都写到了..再给出两段文件的读和写吧




























1
/// <summary>
2
/// 写文件流
3
/// </summary>
4
/// <param name="stream">文件流;如:File.OpenWrite(fileCurrentPath)</param>
5
/// <param name="encoding">字符编码;如:Encoding.UTF8</param>
6
/// <param name="Text">要写的字符串</param>
7
/// <returns>bool</returns>
8
public static bool WriteToStream(FileStream stream, Encoding encoding, string Text)
9
{
10
try
11
{
12
13
byte[] content = encoding.GetBytes(Text.Replace("\n", "\r\n"));
14
stream.SetLength(content.Length);
15
stream.Write(content, 0, content.Length);
16
stream.Close();
17
return true;
18
}
19
catch
20
{
21
return false;
22
}
23
}

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

以上代码没有版权,想用拿去用,想改拿去改!
版权声明:本文原创发表于 博客园,作者为 路过秋天 本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。 |
个人微信公众号![]() |
Donation(扫码支持作者):支付宝:![]() |
Donation(扫码支持作者):微信:![]() |
![]() |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)