gag*_*ina 4 python unicode json
可能重复:
'u'符号在字符串值前面的含义是什么?
我有这个json文本文件:
{
"EASW_KEY":" aaaaaaaaaaaaaaaaaaaaaaa",
"EASF_SESS":" aaaaaaaaaaaaaaaaaaaaaaa",
"PHISHKEY":" aaaaaaaaaaaaaaaaaaaaaaa",
"XSID":" aaaaaaaaaaaaaaaaaaaaaaa"
}
Run Code Online (Sandbox Code Playgroud)
如果我像这样解码它:
import json
data = open('data.txt').read()
data = json.loads(data)
print data['EASW_KEY']
Run Code Online (Sandbox Code Playgroud)
我明白了:
u' aaaaaaaaaaaaaaaaaaaaaaa'
Run Code Online (Sandbox Code Playgroud)
而不是简单地:
aaaaaaaaaaaaaaaaaaaaaaa
这u是什么意思?
python中的字符串之前的'u'是什么意思?
前缀为python字符串的字符称为python String Encoding声明.你可以在这里阅读所有相关信息:https://docs.python.org/3.3/reference/lexical_analysis.html#encoding-declarations
你代表unicode.该槽中的替代字母可以r'foobar'用于原始字符串,而b'foobar用于字节串.
一些有关Python认为unicode的帮助:http: //docs.python.org/howto/unicode.html
然后要探索它的本质,运行此命令:
type(u'abc')
Run Code Online (Sandbox Code Playgroud)
收益:
<type 'unicode'>
Run Code Online (Sandbox Code Playgroud)
如果你在使用ascii时使用Unicode,或者当你应该使用unicode时使用ascii,那么当用户在运行时开始"探索unicode空间"时,你很可能会遇到冒泡实现.
例如,如果你将一个unicode字符串传递给facebook的api.fql(...)函数,它表示它接受unicode,它将很乐意处理你的请求,然后返回未定义的结果,好像该函数成功,因为它在整个地毯上呕吐.
如本文所定义:
Unicode是一个饱含地雷的战场,让它被隔离,因为它是敌对用户输入的病毒载体,将被用作骡子和载体,以便在命令链上传递66阶段自毁序列.你被警告了.
这些野蛮人在带有unicode的护城河中进入,你必须为所有这些人做好准备,并且每3个元组都要做好准备:

大约3%的上述字符会导致你的代码在生产中被癫痫发作然后在地板上呕吐.
| 归档时间: |
|
| 查看次数: |
4845 次 |
| 最近记录: |