1. 从文件中读取字符串

    string filePath = @"C:\Temp.xml";

    string xmlString= File.ReadAllText(filePath);

  2. 将字符串转为bytes

    byte[] buffer= System.Text.Encoding.UTF8.GetBytes(xmlString);

  3. 将bytes转为字符串

    string xmlString3 = System.Text.Encoding.UTF8.GetString(buffer);

这样做看似是没什么问题的,但是如果转换出的字符串要用于XmlDocument.LoadXml()时,就会出现以下错误:

System.Xml.XmlException:根级别上的数据无效。第一行,位置1

原因是大概是Utf8的BOM的问题,在文件头出现了不可见字符,可通过如下方法解决:

var encoding = new UTF8Encoding(false, false);

string xmlString = encoding.GetString(buffer);

XmlDocument doc = new XmlDocument();

doc.LoadXml(xmlString);

参考:

  1. http://www.tuicool.com/articles/U7nIZn
  2. http://blog.csdn.net/freedom2028/article/details/8102455

转载于:https://www.cnblogs.com/lightmao/p/6700317.html

C#中String与byte[]的相互转换相关推荐

  1. java中string和int的相互转换

    java中string和int的相互转换 int -> String int i=12345; String s=""; 核心:s=i+""; Strin ...

  2. C#中string与byte[]的转换帮助类

    在写C#程序时,string和byte[]之间的转换比较烦,在移植一些老程序时感觉很不好.我在C#中使用DES和TripleDES时移植一块老代码时也遇到了同样的情况.为了下次不为同样的事情烦恼,就写 ...

  3. java中string与byte[]的转换

    1.string 转 byte[] byte[] midbytes=isoString.getBytes("UTF8"); //为UTF8编码 byte[] isoret = sr ...

  4. Java中String和byte[]间的转换浅析

    Java语言中字符串类型和字节数组类型相互之间的转换经常发生,网上的分析及代码也比较多,本文将分析总结常规的byte[]和String间的转换以及十六进制String和byte[]间相互转换的原理及实 ...

  5. Java中String与Byte之间的各种转换

    这个是很常用的,一直没整理,现在来整理下,供自己备用. 1.一个字符串,用Byte数组形式通过串口发送出去,很简单 String cmd = "xxxx"; byte[] cmdB ...

  6. go 源码分析string、[]byte的相互转换

    string 简单的来说字符串是一系列8位字节的集合,通常但不一定代表UTF-8编码的文本.字符串可以为空,但不能为nil.而且字符串的值是不能改变的. 不同的语言字符串有不同的实现,在go的源码中s ...

  7. java中String转byte 编码格式

    在.Net中,字符串转换byte编码格式如下: StringBuilder str = new StringBuilder(); str.Append("妙生活"); var co ...

  8. string和byte[]的相互转换

    string --> byte[] byte[] data=Syste.Text.Encoding.ASCII.GetBytes(string); byte[]-->string stri ...

  9. android中webview loadUrl(String url,Map header)方法和postUrl(String url,byte[] postData)方法同时使用问题;...

    首先说明 loadUrl(String url,Map header)是用于加载webview中添加请求头的方法 postUrl(String url,byte[] postData)是用于加载web ...

最新文章

  1. css中的垂直居中方法
  2. android id 重名_Android App 自定义权限重名不能安装解决办法
  3. 基于 Python Matplotlib 模块的高质量图形输出
  4. WAMP 2.2 配置与IIS共用单IP,多域名多网站配置方法
  5. ABAP并发计算的一个实例
  6. vue-router 响应路由参数的变化
  7. asm 查看 数据文件 修改 时间_ASM磁盘组ORA15042故障处理案例一:NORMAL磁盘组下失败组离线后ORA15042报错的处理...
  8. 手把手教你如何在安卓平台上实现打电话发短信的功能
  9. 广播、组播、单播区别与联系
  10. LeetCode 75. Sort Colors(三颜色排序→K颜色排序)
  11. Facebook十大失误回顾
  12. 计算机应用基础2011,2011统计师计算机应用基础:计算机概述
  13. Ubuntu18.04系统(优化工具+搜狗输入法+wine+微信+拨号上网)
  14. Windows IRP
  15. PS如何批量处理图片大小
  16. iOS APP:简单粗暴的自制下拉刷新
  17. Markdown 图片左右对齐、居中、大小设置
  18. 2021年茶艺师(中级)考试报名及茶艺师(中级)考试试卷
  19. JavaScript之实现文件上传与下载
  20. C#中的虚函数virtual

热门文章

  1. 中国首个火星探测器天问一号发射成功!
  2. .Net Core 项目引用本地类库方式(二)
  3. Go 2将添加错误处理和泛型
  4. Python学习笔记十 IO编程
  5. Windows上安装AD域控制器注意事项及常见问题处理办法
  6. 大系统化小之后,微信如何解决大规模微服务下的难题?
  7. 光热发电未来或成长为南非电力供应市场的主力军
  8. Python向来以慢著称,为啥Instagram却唯独钟爱它?
  9. 浏览器下载附件Content-Disposition
  10. jQuery如何动态删除TR,input按钮删除本行记录,checkbox全选反选