首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >vobject读取包含德国货币的vcf文件

vobject读取包含德国货币的vcf文件
EN

Stack Overflow用户
提问于 2013-09-10 12:14:24
回答 1查看 1.1K关注 0票数 1

我使用Vobject模块。

我想读取一个VCF文件,其中包含UTF8字符集中带有德语umlauts的名称:

代码语言:javascript
复制
BEGIN:VCARD    
VERSION:2.1    
FN:Some Name    
N:Name;Some;;;    
ADR;WORK;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:;;=49=6D=20=4D=C3=BC=68=6C=65=6E=62=72=75=63=68=20=32=33;=4B=C3=B6=6E=69=67=73=77=69=6E=74=65=72;=4E=52=57;=35=35=35=35=35;    
END:VCARD    

守则:

代码语言:javascript
复制
 fp = open("vcf/%s.vcf" %(name), "r")          
 content = fp.read()          
 fp.close()    

 v = vobject.readOne(content)    
 v.prettyPrint()    

例如:

K nig被理解为K?nig。

Mühle被理解为M?hle。

我脑子里唯一的解决办法,

  • 读文件
  • 查找umlaut utf8代码
  • 替换utf8代码
  • 解析VCF内容
  • 将utf8代码反向替换为umlaut utf8代码

但一定有更优雅的方法吗?有人能给我指一下那个方向吗?

致以敬意,

Ck

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-14 08:26:11

我找到了解决办法。问题是,Python需要将Stringstreams解释为UTF-8。

内建功能

代码语言:javascript
复制
unicode("ÄÖÜ", "utf-8")

这些铜币按预期打印出来。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18718712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档