V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Arthur2e5  ›  全部回复第 5 页 / 共 12 页
回复总数  223
1  2  3  4  5  6  7  8  9  10 ... 12  
2016-09-29 13:34:41 +08:00
回复了 zl2003cn 创建的主题 Python 求解汉字编码问题
@Magic347 其实是因为 requests 没有调 encoding 直接取 text ,自动当作 ISO-8859-1 回落解码了:

>>> import requests
>>> resp = requests.get("http://jobs.51job.com/shenzhen-baq/81498324.html?s=0" )
>>> resp.encoding
'ISO-8859-1'

这时候取内容会逐 byte 处理,按照你提到的 U+00 ~ U+FF 和 latin1 一一对应的方式处理得到了一个 *错误的* resp.text 字符串:

<class 'str'>

接下来你直接把这锅浆糊送进 lxml 是在碰运气作死。之所以说碰运气,是因为 GBK 第二范围有 [40, 7F) ∪ [80, FF), 直接按照字节处理的话前半在 ASCII 内有对应的部分搞不好会和别的东西撞。比如说 CDATA 用 ]]> 结尾,而“昡”这个字又是编码成 b'\x95\x50',原文出现“昡]>”的时候就会错误认定 CDATA 结束。这是一个安全问题。

要正确解决的话很简单,就是先把 resp.encoding 设置成正确的编码名,这样取 resp.text 才会按照正确的解码方式得到正确的字符串。

@mingyun lxml 只是拿来解析得到的数据而已,和你解码文字的过程并无太大关系。
2016-09-27 11:40:05 +08:00
回复了 sola97 创建的主题 Python 如何把一个字典插到数据库里?
(对不起,我把 issue 看错了……啊自己真是的。)
2016-09-27 11:36:17 +08:00
回复了 sola97 创建的主题 Python 如何把一个字典插到数据库里?
@qq7171891 (啊…继续歪楼。)

其实刚才直接说不能 eval 也不对,至少 ES5 是可以了, JSON 设计目标之一也是这个: https://github.com/judofyr/timeless/issues/57

问题是明明可以避免数据库中邪恶管理员插入的任意代码执行的……
2016-09-27 11:33:02 +08:00
回复了 sola97 创建的主题 Python 如何把一个字典插到数据库里?
@qq7171891 暂时不吐槽你在 Python 版里面 eval JSON ,我先告诉你这样子对 JS 都行不通:

http://timelessrepo.com/json-isnt-a-javascript-subset

JS 也好, Py 也好,为什么就是不愿意去用专门的东西呢?
当你尝试用 TextIOWrapper 钦定这东西是有效的某种编码的纯文本的时候就已经在犯了用记事本打开文件的错误了。你要在已有的 stream (已经是 file-like 了吧?)上面再构造 file-like 的话可以看看 io.BufferedReader 之类的东西,反正不要搞 text 。
2016-09-27 11:15:24 +08:00
回复了 Er0s 创建的主题 Python 用 Python 写了个文字转语音的玩意,求指教
楼上的技术建议都差不多了。

> 在 cmd 和 IDLE 下运行,显示的 logo 不一致

(想不通, txt 里面都是中规中矩的字符啊。)

* 项目里面 pyc 干掉。 GitHub 网页新建一个 .gitignore 的话里面有 Python 专用的模板的。
* 既然楼上提到了变量拼写,那么我也说一句 language 只见 lang 没见过 lan 的。
* 不要用 docstring 当未来代码的注释…………

> @264768502 输出的时候(比如 print)先 encode …… GBK

py2 的 unicode 类型和 py3 那个讲人话的 str 在 print 的时候都会自动转化的吧?手动指名只会在其他语言的 Windows 以及非 Windows 平台下砸自己的脚。
2016-09-27 11:01:51 +08:00
回复了 zhijiansha 创建的主题 Python python 中十六进制如何转中文??
@qqmishi 我求求你了真的不要 encode gbk ,硬要用 py2 就好好用 unicode 数据类型行不行?

你用 gbk 对付 cp936 ANSI API 是吧,我一个欧元符号就可以把你搞死。
更不要说非中文版 Windows 了。
2016-09-22 23:30:01 +08:00
回复了 poke707 创建的主题 Linux 微软认证的笔记本将不能够安装 Linux
真好啊, SB 作为垄断工具的行为终于从 ARM 设备拓展到 x86 上了……?
2016-09-16 00:34:07 +08:00
回复了 xianlin 创建的主题 问与答 使用 Node.js 和 bash script 给字串 AES 加密得到相同的结果
base64 是你自己要求 openssl enc 加的呀,-a 。
2016-09-15 23:27:11 +08:00
回复了 sola97 创建的主题 Python 如何把一个字典插到数据库里?
json 在不少数据库里面都有专门的数据格式支持,所以说真的……(
2016-09-15 23:24:48 +08:00
回复了 metrue 创建的主题 程序员 要不我们来秀秀我们的编程字体?
Inziu Iosevka SC ,基本是这样的……

![VSCode 蛤]( http://i.imgur.com/VWB2fuc.png)
2016-09-15 23:11:17 +08:00
回复了 zhijiansha 创建的主题 Python python 十六进制如何转换成中文???
> 也没办法删帖好像,重新发帖

V2EX 里面是可以给自己发的主题追加内容的。
2016-09-15 23:10:17 +08:00
回复了 zhijiansha 创建的主题 Python python 中十六进制如何转中文??
@qqmishi 不是分隔符的问题。观察 \x... 那段序列和 get_url 的处理可知这玩意是 UTF-8 ,在 Windows 下默认对 str 用 ANSI API 当然会抓瞎。

解决方式很简单,不要用编码逻辑混乱的 python2 str ,要用 py2 也给我去用 unicode 。
2016-09-15 23:06:40 +08:00
回复了 Newyorkcity 创建的主题 Python 请问有什么书可以让自己变量名写的更加正规易读?
@flowfire 怎么可以这样……要用支持 Unicode 名字的各种语言啊。(本来想说“新语言”的,后来想了想 C++)
理论上改 /etc/passwd 和 /etc/shadow 可以,别人也是这么说的: https://unix.stackexchange.com/a/8453/73443

问题和 @we000 想到的一样,各种用户名硬编码。
2016-09-11 06:04:21 +08:00
回复了 leimbag 创建的主题 Linux linux 同一分区是否可挂载多个目录
@leimbag 同分区多个独立目录哪里不优雅了?没有多余分区,可以共享存储……高级? Linux 平常不吃那套,你真高兴可以玩 btrfs-subvolume 。

> 其他的不用在 /etc/fstab 下做永久启动绑定了吧?

你的 bind 也需要 fstab 作绑定啊。 https://serverfault.com/questions/613179/how-do-i-do-mount-bind-in-etc-fstab
2016-09-09 07:22:13 +08:00
回复了 shpasspass 创建的主题 问与答 js 中,如何匹配字符实体?附代码
你没有发现 [ ] 管的是单个字符的匹配与否吗……
2016-03-04 06:01:30 +08:00
回复了 zhangliang5 创建的主题 git gitlab 搭建好以后, git push -u origin master 提示没权限
这哪是没有权限啊,端口都没开…

能 clone 吗 +1
2016-02-11 04:07:40 +08:00
回复了 latyas 创建的主题 Python 有木有通过 google docs 一键 word 转 pdf 下载到本地的项目(脚本)
带上 Word Automation Services 的话好像有个 https://code.msdn.microsoft.com/office/SharePoint-2013-Convert-1e0578a1 ……
2016-02-11 04:04:58 +08:00
回复了 latyas 创建的主题 Python 有木有通过 google docs 一键 word 转 pdf 下载到本地的项目(脚本)
用 Google Docs 转换是嫌格式太乱 /字体太多想去掉一点吗……

可以看看 https://stackoverflow.com/questions/3815983 ,不过这年头也不流行 OpenOffice 改 LibreOffice 了(虽然某些格式兼容还是一团糟,但至少你能控制自己有哪些字体……中文字体总归得补一堆是吧)。看 https://stackoverflow.com/questions/32901398 的话好像用不了 Office365 API 。

如果能搞清使用条款的话你也可以自己折腾 Word Automation 。
1  2  3  4  5  6  7  8  9  10 ... 12  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   930 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 28ms · UTC 22:50 · PVG 06:50 · LAX 15:50 · JFK 18:50
Developed with CodeLauncher
♥ Do have faith in what you're doing.