Python을 사용하여 쿼리 문자열을 통해 utf-8로 인코딩되지 않은 데이터 (특히 shift-jis)를 URL로 전송해야합니다. 데이터는 어떻게 전송해야합니까? 제품 견적을 제출 하시겠습니까? utf-8로 인코딩 하시겠습니까?utf-8 인수가 아닌 URL을 여는 방법
감사
Python을 사용하여 쿼리 문자열을 통해 utf-8로 인코딩되지 않은 데이터 (특히 shift-jis)를 URL로 전송해야합니다. 데이터는 어떻게 전송해야합니까? 제품 견적을 제출 하시겠습니까? utf-8로 인코딩 하시겠습니까?utf-8 인수가 아닌 URL을 여는 방법
감사
쿼리 문자열 매개 변수는 바이트 기반입니다. IRI-to-URI 및 형식화 된 비 ASCII 문자는 일반적으로 UTF-8을 사용하지만 인코딩에서 사용자 자신의 매개 변수를 전송하거나 수신하도록 강요하는 것은 없습니다.
그래서 시프트-JIS (실제로는 일반적으로 cp932, 해당 인코딩의 윈도우 확장)에 대한 :
는 인용 함수 자체에서 할 파이썬 3에서foo= u'\u65E5\u672C\u8A9E' # 日本語
url= 'http://www.example.jp/something?foo='+urllib.quote(foo.encode('cp932'))
:
foo= '\u65E5\u672C\u8A9E'
url= 'http://www.example.jp/something?foo='+urllib.parse.quote(foo, encoding= 'cp932')
쿼리 문자열 바이트의 문자열이기 때문에 나는이와 무슨 상관이 유니 코드 모른다. urllib의 인용 함수를 사용하여 일반 문자열을 인용 문자열 내에 전달할 수 있습니다.
»쿼리 문자열로«과 같은 HTTP GET을 의미합니까?
base64.b64encode
을 통해 데이터를 인코딩 한 경우 -_
을 대체 문자로 사용하여 옵션으로 URL을 안전하게 사용할 수 있습니다. here을 참조하십시오.
유니 코드가 아닌 인코딩, 그래서 모든 URL이 아닌 유니 코드 인수가 있습니다. 나는 비 utf-8을 의미한다고 생각합니다. –
수정에 대한 감사 - – hoju