python读取rtf文件中指定的内容_使用Python读取RTF文件时遇到欧元符号问题
RTF标准使用UTF-16,但形状适合RTF命令序列格式。记录在http://en.wikipedia.org/wiki/Rich_Text_Format#Character_encoding。遗憾的是,pyRTF不会为你做任何编码;处理这个已经在项目的TODO上,但显然他们在放弃图书馆之前从未达到过这个目的。
这是基于我最近在项目中使用的代码。我现在发布了这个rtfunicode on PyPI,支持Python 2和3; python 2版本:
import codecs
import re
_charescape = re.compile(u'([\x00-\x1f\\\\{}\x80-\uffff])')
def _replace(match):
codepoint = ord(match.group(1))
# Convert codepoint into a signed integer, insert into escape sequence
return '\\u%s?' % (codepoint if codepoint < 32768 else codepoint - 65536)
def rtfunicode_encode(text, errors):
# Encode to RTF \uDDDDD? signed 16 integers and replacement char
return _charescape.sub(_replace, escaped).encode('ascii')
class Codec(codecs.Codec):
def encode(self, input, errors='strict'):
return rtfunicode_encode(input, errors), len(input)
class IncrementalEncoder(codecs.IncrementalEncoder):
def encode(self, input, final=False):
return rtfunicode_encode(input, self.errors)
class StreamWriter(Codec, codecs.StreamWriter):
pass
def rtfunicode(name):
if name == 'rtfunicode':
return codecs.CodecInfo(
name='rtfunicode',
encode=Codec().encode,
decode=Codec().decode,
incrementalencoder=IncrementalEncoder,
streamwriter=StreamWriter,
)
codecs.register(rtfunicode)您可以编码为'rtfunicode'而不是编码为“iso-8859-15”:
>>> u'\u20AC'.encode('rtfunicode') # EURO currency symbol
'\\u8364?'以这种方式将您插入RTF文档的任何文本编码。
注意,它只支持UCS-2 unicode(\uxxxx,2个字节),而不支持UCS-4(\Uxxxxxxxx,4个字节); rtfunicode 1.1通过简单地将UTF-16代理对编码为两个\uDDDDD?有符号整数来支持这些。
python读取rtf文件中指定的内容_使用Python读取RTF文件时遇到欧元符号问题相关推荐
- 利用IO流一次性读取文件中的所有内容,利用IO流下载文件
利用IO流一次性读取文件中的所有内容 读取文件效率最快的方法就是一次全读进来,使用readline()之类的方法,可能需要反复访问文件,而且每次readline()都会调用编码转换,降低了速度,所以, ...
- python文件中单词的删除_使用python删除文件中的多余单词
嗨,我正在学习Python,出于好奇,我编写了一个程序来删除文件中多余的单词. 我正在比较文件text1.txt中的测试.和'text2.txt',基于text1中的测试,我删除了test2中多余的单 ...
- PageOffice既保存Word文件中指定区域的数据又保存整篇文件
一.首先在word文件中给需要在后台获取数据的区域设置以PO_开头的书签. 二.通过pageoffice在线打开文件并编辑保存.有两种打开文件的模式 1.普通编辑模式(docNormalEdit) 普 ...
- 如何修改xd.properties文件中对象存储文件信息_对块存储、文件存储、对象存储的认识总结...
因工作原因接触了对象存储,从而了解到相关的块存储和文件存储.搜罗了网上各种信息,结合自己的理解,整理如下.欢迎阅读,批评指正. 开头引用下几篇关于"块存储.文件存储.对象存储"的文 ...
- python对csv文件中的数据进行分类_使用Python读取csv文件并进行分类存储
同学叫我帮忙用Python做csv表格分类,整理一下遇到的问题及解决方案 原生数据文件TEST.csv: 如图我需要根据G列内容,分别对A,B,C进行分类到A.csv,B.csv,C.csv 上代码, ...
- 使用PHP来删除文件中 指定文字内容
话不多说直接上代码. /*** @author SucreCao* @return false|string*/public function deleteCharacters(){$fileName ...
- python读取二进制数据中的while循环_在Python中读取二进制文件并循环遍历每个字节...
f = open("myfile", "rb") try: byte = f.read(1) while byte != "": # Do ...
- python对csv文件中的数据进行分类_利用Python对csv文件中的数据进行排序
代码如下: #导入包 import pandas as pd from pandas import DataFrame,Series #设置路径 path='C:\\Users\\jyjh\\Desk ...
- python从文件中提取特定文本_使用Python从HTML文件中提取文本
我发现最好的一段代码用于提取文本,而不需要javascript或不需要的东西:import urllibfrom bs4 import BeautifulSoupurl = "http:// ...
最新文章
- Jupyter Notebook快捷键
- java8 遍历目录_使用java8API遍历过滤文件目录及子目录及隐藏文件
- 小阳买水果(前缀和,单调栈,思维)
- 我的Go语言学习之旅七:创建一个GUI窗体
- 什么是商业智能(BI),以及其与数据分析的区别?
- Code First :使用Entity. Framework编程(6) ----转发 收藏
- 想找C++开发职位必读的书,以及其他条件
- 第五章---引入VIP后的数据库架构
- 计算机图形人机交互实验报告,用户界面设计人机交互实验报告.doc
- 2014年的六级考试即将来临,你们准备好了吗?
- JS数组操作之增删改查
- SignalR入门之Hub
- 分享几个java小程序代码
- JPG/PNG转SVG矢量格式
- ps软件抠图、去除图片背景
- CDPSE-数据隐私解决方案工程师
- ios 出现log不打印 was compiled with optimization - stepping may behave oddly; variables may not be availa
- ZOJ Monthly,Feburary 2012 部分题解
- Linux学习笔记:联想拯救者Y7000进BIOS
- windowns server 2012 R2 启动U盘制作
热门文章
- MATLAB软件基础学习篇——002
- C++、Python、Java的MySQL数据库操作
- java Integer范围详解
- 3JSP与Javabean
- 关于Linux服务器上部署tomcat项目,输入数据乱码解决
- infoq, 一个很好的技术人员的网站
- redis漏洞防攻击
- 车牌识别1.1:License Plate Detection and Recognition in Unconstrained Scenarios。
- spring的init-method,destory-method, @PostConstruct,@ PreDestroy, InitializingBean
- 漫画:从诗词大会飞花令到ElasticSearch原理解析