xml

最美程序员 2019-09-03 05:53:43
如何用python将二进制数据写入xml
...全文
78 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
最美程序员 2019-09-04
  • 打赏
  • 举报
回复
引用 1 楼 陈年椰子 的回复:
转16进制后,放到 CDATA 里。
你好 再请教个问题 我把图片存储进xml 先取出str 的图片数据 转成bytes 用Qimage转Qimage类型 最后用Qpixmap无法显示出图片
陈年椰子 2019-09-04
  • 打赏
  • 举报
回复
转16进制后,放到 CDATA 里。
最美程序员 2019-09-04
  • 打赏
  • 举报
回复
引用 13 楼 管理員 的回复:
引用 12 楼 管理員 的回复:
[quote=引用 10 楼 O boy 的回复:] [quote=引用 9 楼 管理員 的回复:][quote=引用 7 楼 O boy 的回复:] [quote=引用 6 楼 管理員 的回复:]
图片存入xml是str 取出转成bytes 这个转的bytes跟之前图片的bytes的格式不一样了
你把二进制数据读出来,存到xml里,它的类型就丢失了,变成了字符串。再读出来,也是字符串。 就像你把 int 型、float型 存到文件里,它的类型是丢失了的,全变成字符串了[/quote]先把图片格式转成字符串存入xml 取出来 用eval就ok了[/quote] 可以,但这样不好。编辑xml时再保存,可能遇到编码问题,导致又读取不正确[/quote] 你不应该在文本文件中保存二进制字符,这样不“正确”[/quote]对 得要转换成字符串 再保存
最美程序员 2019-09-04
  • 打赏
  • 举报
回复
也是 我再试试用base64 感谢大神帮助
手无护鸡之力 2019-09-04
  • 打赏
  • 举报
回复
引用 12 楼 管理員 的回复:
引用 10 楼 O boy 的回复:
[quote=引用 9 楼 管理員 的回复:][quote=引用 7 楼 O boy 的回复:] [quote=引用 6 楼 管理員 的回复:]
图片存入xml是str 取出转成bytes 这个转的bytes跟之前图片的bytes的格式不一样了
你把二进制数据读出来,存到xml里,它的类型就丢失了,变成了字符串。再读出来,也是字符串。 就像你把 int 型、float型 存到文件里,它的类型是丢失了的,全变成字符串了[/quote]先把图片格式转成字符串存入xml 取出来 用eval就ok了[/quote] 可以,但这样不好。编辑xml时再保存,可能遇到编码问题,导致又读取不正确[/quote] 你不应该在文本文件中保存二进制字符,这样不“正确”
手无护鸡之力 2019-09-04
  • 打赏
  • 举报
回复
引用 10 楼 O boy 的回复:
引用 9 楼 管理員 的回复:
[quote=引用 7 楼 O boy 的回复:] [quote=引用 6 楼 管理員 的回复:]
图片存入xml是str 取出转成bytes 这个转的bytes跟之前图片的bytes的格式不一样了
你把二进制数据读出来,存到xml里,它的类型就丢失了,变成了字符串。再读出来,也是字符串。 就像你把 int 型、float型 存到文件里,它的类型是丢失了的,全变成字符串了[/quote]先把图片格式转成字符串存入xml 取出来 用eval就ok了[/quote] 可以,但这样不好。编辑xml时再保存,可能遇到编码问题,导致又读取不正确
最美程序员 2019-09-04
  • 打赏
  • 举报
回复
引用 10 楼 O boy 的回复:
引用 9 楼 管理員 的回复:
[quote=引用 7 楼 O boy 的回复:] [quote=引用 6 楼 管理員 的回复:]
图片存入xml是str 取出转成bytes 这个转的bytes跟之前图片的bytes的格式不一样了
你把二进制数据读出来,存到xml里,它的类型就丢失了,变成了字符串。再读出来,也是字符串。 就像你把 int 型、float型 存到文件里,它的类型是丢失了的,全变成字符串了[/quote]先把图片格式转成字符串存入xml 取出来 用eval就ok了[/quote]我刚试了 可以显示图片了
最美程序员 2019-09-04
  • 打赏
  • 举报
回复
引用 9 楼 管理員 的回复:
引用 7 楼 O boy 的回复:
[quote=引用 6 楼 管理員 的回复:]
图片存入xml是str 取出转成bytes 这个转的bytes跟之前图片的bytes的格式不一样了
你把二进制数据读出来,存到xml里,它的类型就丢失了,变成了字符串。再读出来,也是字符串。 就像你把 int 型、float型 存到文件里,它的类型是丢失了的,全变成字符串了[/quote]先把图片格式转成字符串存入xml 取出来 用eval就ok了
手无护鸡之力 2019-09-04
  • 打赏
  • 举报
回复
引用 7 楼 O boy 的回复:
引用 6 楼 管理員 的回复:
图片存入xml是str 取出转成bytes 这个转的bytes跟之前图片的bytes的格式不一样了
你把二进制数据读出来,存到xml里,它的类型就丢失了,变成了字符串。再读出来,也是字符串。 就像你把 int 型、float型 存到文件里,它的类型是丢失了的,全变成字符串了
手无护鸡之力 2019-09-04
  • 打赏
  • 举报
回复
引用 7 楼 O boy 的回复:
引用 6 楼 管理員 的回复:
图片存入xml是str 取出转成bytes 这个转的bytes跟之前图片的bytes的格式不一样了
你不能这么转,你图片读出来,是二进制的,你想存到xml文件里,应该要把这个二进制字符转成base64编码,再存到xml ,读出来后,就是逆操作,把base64转成二进制,再继续处理
最美程序员 2019-09-04
  • 打赏
  • 举报
回复
引用 6 楼 管理員 的回复:
图片存入xml是str 取出转成bytes 这个转的bytes跟之前图片的bytes的格式不一样了
手无护鸡之力 2019-09-04
  • 打赏
  • 举报
回复
你得转成QByteArray吧,pyqt有自己的数据类型
最美程序员 2019-09-04
  • 打赏
  • 举报
回复
引用 3 楼 陈年椰子 的回复:
看是不是转换过程出错。 比较一下 图片数据 和 str转成的bytes 这两个数据可能不一样。 如果这两个数据一样了。 就可以直接显示了。
数据是一样的 只不过存储前后的类型不同 我觉得是不是跟pyqt转换类型的时候有关
最美程序员 2019-09-04
  • 打赏
  • 举报
回复
数据都一样的 只不过存储前后的类型的不同
陈年椰子 2019-09-04
  • 打赏
  • 举报
回复
看是不是转换过程出错。 比较一下 图片数据 和 str转成的bytes 这两个数据可能不一样。 如果这两个数据一样了。 就可以直接显示了。

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

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