C# UTF-8文件带BOM和不带BOM文件的转换
2024-08-27 07:29:27
读取INI文件使用的是GetPrivateProfileString方法,自己读写ini文件没有问题。
调用C++的API对同一个ini文件进行处理后,发现首个Section的值读不出来;发现是API更改了ini文件格式。
原本C#进行读写的ini文件是UTF-8不带BOM的格式,C++ API写值后将ini文件格式改为UTF-8带BOM。
API那边没有办法更改,GetPrivateProfileString我也不知道该怎么设定成带BOM的格式;
只能自己转换文件格式,转换方法如下:
//以UTF-8带BOM格式读取文件内容
Encoding end = new UTF8Encoding(true);
string str = string.Empty;
using (StreamReader sr = new StreamReader(ini.Path, end))
{
str = sr.ReadToEnd();
}
//以UTF-8不带BOM格式重新写入文件
end = new UTF8Encoding(false);
using (StreamWriter sw = new StreamWriter(ini.Path, false, end))
{
sw.Write(str);
}
成功!
最新文章
- Android/Linux下CGroup框架分析及其使用
- webstorm 更改默认服务器端口
- kafka的log存储解析——topic的分区partition分段segment以及索引等
- PowerDesigner生成Oracle数据库时,表名会带引号问题
- aptitude解决Ubuntu各种依赖问题
- Grandpa's Estate---POJ1228(凸包)
- Android--入门
- Octopus系列之如何让前台的js脚本变得灵活重用
- warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
- hdu4432 Sum of divisors(数论)
- IO流(File类
- MySQL 遇到的问题:在服务里找不到自己的 MySQL,以及在命令行窗口中运行服务出现的问题。
- 指针和引用区别 C++
- webAppRootKey
- 【知识整理】这可能是最好的RxJava 2.x 入门教程(四)
- Python高级特性:列表生成式
- Sublime Text 3 注册码激活码被移除的解决办法
- python prettytable模块
- 图片 base64转byte[]
- CentOS与RedHat的关系
热门文章
- (信贷风控九)行为评分卡模型python实现
- Windows7 64位配置ODBC数据源(Sybase)的方法
- CentOS上安装GlassFish4.0
- PHP 输出日志到文件 DEMO
- Linux_CentOS软件安装调试 源代码包编译安装和 二进制包配置
- Python适配器模式代码
- centos6环境远程执行shell脚本报错not a valid identifier的问题处理
- ISO/IEC 9899:2011 条款6.8.3——表达式与空语句
- pytorch 不使用转置卷积来实现上采样
- 亲爱的mssql码农们,看看利用sp_addlinkedserver实现远程数据库链接