python html5 bootstrap 视频教程

德云社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8717|回复: 0

python 如何对待版权 © 特殊字符的编码问题

[复制链接]

185

主题

204

帖子

1175

积分

工程师

Rank: 5Rank: 5

金钱
759
金币
15
威望
0
贡献
0
发表于 2015-8-6 23:19:33 | 显示全部楼层 |阅读模式
AI人工智能 语音助理 人工翻译 教程
python 如何对待版权 © 特殊字符的编码问题

Python([ˈpaɪθən])是一种面向对象、解释型计算机程序设计语言。Python语法简洁、清晰,具有丰富和强大的类库。


Python源代码遵循GPL(GNU General Public License)协议,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。


Python常被称为胶水语言,能把用其他语言编写的各模块(尤其是C/C++)轻松地联结在一起。常见情形是,用Python快速生成程序原型(有时甚至是程序最终界面),然后对其中有特别要求的部分,用更合适的语言改写;譬如:3D游戏中的图形渲染模块,性能要求特别高,就可用C/C++重写,而后封装为Python可调用的扩展类库。需要注意的是,在您使用扩展类库时可能需要考虑平台问题,某些扩展类库可能不提供跨平台实现。


Ashampoo_Snap_2015.08.07_04h27m02s_002_.jpg

以上为版权 © 特殊字符在HTML及XML中的正确表示形式


若直接将 © 编写在 HTML、XML 代码中,也不会出现什么显示问题;但当用Python抓取此页面或用Python查找替换 © 特殊字符时,由于 Python 编码问题,可能会引发代码错误提示。


百度了一下,关于用Python处理 © 特殊字符的文章并不多,所以,只能自已想办法解决。


Ashampoo_Snap_2015.08.07_04h39m32s_003_.jpg

IDLE图中 "\xc2\xa9" 及 b"\xc2\xa9" 是 © 特殊字符的二进制形式。


在使用某些IDE查看时,也会显示如此;


Ashampoo_Snap_2015.08.07_04h44m34s_004_.jpg

当然,用Python抓取页面,不进行编码时,在某些IDE中也会显示如此。


Ashampoo_Snap_2015.08.07_04h53m21s_006_.jpg

若对其进行 decode("utf8") 直接解码,或加 "ignore" 参数 decode("utf8", "ignore") 或 decode("utf8", "replace"),都会提示


  1. builtins.UnicodeEncodeError: 'gbk' codec can't encode character '\xa9' in position 52: illegal multibyte sequence
复制代码

所以,一种解决办法是 replace(b"\xc2\xa9", b' ').decode("utf8")) 将其替换成其它字符,譬如:空格或自定义字符;再用©或©字符替换。


还有一种解决办法,就是建一个HTML、XML文件,写入相同 © 特殊字符,再将源文件与此HTML、XML文件中的 © 特殊字符进行相应比较、删除、替换处理;当然,最好还是替换为©或©字符。


此外,就是采用 u'\xa9' 字符,以下为IDLE及某些IDE中的测试结果:


Ashampoo_Snap_2015.08.07_04h46m43s_005_.jpg

Ashampoo_Snap_2015.08.07_05h36m54s_007_.jpg

查看标准输出默认编码及默认系统编码,字符名称:


Ashampoo_Snap_2015.08.07_05h47m22s_008_.jpg
版权声明:
本文为独家原创稿件,版权归 德云社区,未经许可不得转载;否则,将追究其法律责任。

AI人工智能 语音助理 人工翻译 教程
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|Sitemap|小黑屋|德云社区 |网站地图  

GMT+8, 2024-11-27 08:26 , Processed in 0.039491 second(s), 30 queries .

工业和信息化部: 粤ICP备14079481号-2

技术支持 乐数软件     版权所有 © 2014-2021 德云社区    

快速回复 返回顶部 返回列表