问题相关代码,请勿粘贴截图
import webbrowser
url='https://weathernew.pae.baidu.com/weathernew/pc?query=%E6%B9%96%E5%8C%97%E9%9A%8F%E5%B7%9E%E5%A4%A9%E6%B0%94&srcid=4982%27
webbrowser.open(url)
中文url复制到哪都会变
你可以少复制一点,也就是不复制url的全部,或者把中文前面的复制,后面的手打
关于这个,会牵扯到很久远的历史,最开始的字符输入或者传输是完全没有中文的,只有一些字母和符号,因此建立相关的通讯标准中也不存在中文。
中文不在ascii码中,ascii码是一个字节就能表示一个字符,而中文至少要两个字节才能表示一个字符,为了保证以文本形式来传输数据的完整性,只能获取中文对应二进制数据的十六进制表现形式,此时才可以全部用ascii码中支持的字符来表示。
像你这个例子,其实是中文用UTF8编码,3个字节表示一个汉字得到的结果,比如E6B996就是"湖"UTF8编码十六进制值