Python和unicode字符串编码转换

Python和unicode字符串编码转换,python,python-3.x,flask,unicode,encoding,Python,Python 3.x,Flask,Unicode,Encoding,我不熟悉烧瓶和编码。使用蟒蛇3 我有一个应用程序: from flask import Flask from flask import request from flask import jsonify import requests app = Flask(__name__) QUERY_PARAM = 'q' @app.route('/response', methods=['GET']) def get_query(): query = request.args.get(Q

我不熟悉烧瓶和编码。使用蟒蛇3 我有一个应用程序:

from flask import Flask
from flask import request
from flask import jsonify
import requests

app = Flask(__name__)

QUERY_PARAM = 'q'


@app.route('/response', methods=['GET'])
def get_query():
    query = request.args.get(QUERY_PARAM)
    user_input = dict()
    user_input['text'] = query
    return jsonify(user_input), requests.codes.ok
我输入/响应?q=什么是ab\u0026c

它现在返回:{“text”:“什么是ab\u0026c”}

我希望它返回:{“text”:“什么是ab&c”}

在代码中尝试了一些编码,但没有一个对我有效。
有人能告诉我如何做到这一点,并帮助我理解它吗

您的实现似乎工作正常,但您以错误的方式传递了查询参数

您想发送文本:
“什么是ab&c”
。 此文本需要编码为URL的编码

例如,您可以通过在shell中运行以下行来使用python:

>>> from urllib.parse import urlencode
>>> payload = dict(q="what is ab&c")
>>> urlencode(payload)
'q=what+is+ab%26c'
因此,我们知道请求将是:

http://localhost:5000/response?q=what+is+ab%26c
其结果是:

{
  "text": "what is ab&c"
}

您的实现似乎工作正常,但以错误的方式传递查询参数

您想发送文本:
“什么是ab&c”
。 此文本需要编码为URL的编码

例如,您可以通过在shell中运行以下行来使用python:

>>> from urllib.parse import urlencode
>>> payload = dict(q="what is ab&c")
>>> urlencode(payload)
'q=what+is+ab%26c'
因此,我们知道请求将是:

http://localhost:5000/response?q=what+is+ab%26c
其结果是:

{
  "text": "what is ab&c"
}

你可以试试
user\u input['text']=str(查询)
。你可以试试
user\u input['text']=str(查询)