为了账号安全,请及时绑定邮箱和手机立即绑定

“u”在字符串值前面的意思是什么?

“u”在字符串值前面的意思是什么?

慕娘9325324 2019-07-09 14:26:33
“u”在字符串值前面的意思是什么?是的,简而言之,我想知道为什么我在我的钥匙和价值观面前看到一个你。我正在绘制一个表格。该表单有特定标签的复选框和IP地址的一个文本字段。我正在创建一个字典,其中键是标签,在list_key中硬编码,字典的值来自表单输入(List_Value)。字典是创建的,但它前面有u作为一些值。下面是字典的示例输出:{u'1': {'broadcast': u'on', 'arp': '', 'webserver': '', 'ipaddr': u'', 'dns': ''}}有人能解释一下我做错了什么吗。我没有得到错误,当我模拟类似的方法在灭弧室。欢迎任何改进代码的建议。谢谢#!/usr/bin/env pythonimport webapp2import itertoolsimport cgi form ="""     <form method="post">     FIREWALL      <br><br>     <select name="profiles">         <option value="1">profile 1</option>         <option value="2">profile 2</option>         <option value="3">profile 3</option>     </select>     <br><br>     Check the box to implement the particular policy     <br><br>     <label> Allow Broadcast         <input type="checkbox" name="broadcast">     </label>     <br><br>     <label> Allow ARP         <input type="checkbox" name="arp">     </label><br><br>     <label> Allow Web traffic from external address to internal webserver         <input type="checkbox" name="webserver">     </label><br><br>     <label> Allow DNS         <input type="checkbox" name="dns">     </label><br><br>     <label> Block particular Internet Protocol  address         <input type="text" name="ipaddr">     </label><br><br>     <input type="submit">        </form> """dictionarymain={}class MainHandler(webapp2.RequestHandler):       def get(self):         self.response.out.write(form)     def post(self):         # get the parameters from the form          profile = self.request.get('profiles')         broadcast = self.request.get('broadcast')         arp = self.request.get('arp')         webserver = self.request.get('webserver')         dns =self.request.get('dns')         ipaddr = self.request.get('ipaddr')         # Create a dictionary for the above parameters         list_value =[ broadcast , arp , webserver , dns, ipaddr ]         list_key =['broadcast' , 'arp' , 'webserver' , 'dns' , 'ipaddr' ]         #self.response.headers['Content-Type'] ='text/plain'         #self.response.out.write(profile)
查看完整描述

2 回答

?
慕勒3428872

TA贡献1848条经验 获得超6个赞

字符串值前面的‘u’表示字符串已被表示为Unicode。在这里,字符串之前的字母称为“字符串编码声明”。Unicode是一种表示比普通ascii所能管理的更多字符的方法。

可以通过多种方式将字符串转换为Unicode:

>>> u'foo'u'foo'>>> unicode('foo')u'foo'

但真正的原因是代表这样的东西(翻译这里):

>>> val = u'Ознакомьтесь с документацией'>>> val
u'\u041e\u0437\u043d\u0430\u043a\u043e\u043c\u044c\u0442\u0435\u0441\u044c \u0441 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\
u0446\u0438\u0435\u0439'>>> print valОзнакомьтесь с документацией

在大多数情况下,在处理与此代码中的ascii字符串不同的字符串时,您不应该有任何错误。

您还会看到其他符号,例如“原始”符号,用于告诉字符串不要解释任何特殊字符。在python中执行正则表达式时,这是非常有用的。

>>> 'foo\"''foo"'>>> r'foo\"''foo\\"'

ASCII和Unicode字符串在逻辑上可以等效:

>>> bird1 = unicode('unladen swallow')>>> bird2 = 'unladen swallow'>>> bird1 == bird2True


查看完整回答
反对 回复 2019-07-09
  • 2 回答
  • 0 关注
  • 570 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信