punycode 编码(推荐)

punycode 编码又称 域名代码,是实现 中文汉字转英文字母 的一种编码方式

中文汉字 转 url

import reurl = 'www.示例.com'
# 正则匹配中文汉字
list_cn = re.findall('[\u4e00-\u9fa5]+', url)
# 遍历进行 punycode 编码
list_puny = list(map(lambda x: 'xn--' + x.encode('punycode').decode('utf-8'), list_cn))
# 对原 url 进行替换
for cn, puny in zip(list_cn, list_puny): url = url[:url.find(cn)] + puny + url[url.find(cn) + len(cn):]
print(url)
# www.xn--fsq092h.com

url 转 中文汉字

import reurl = 'www.xn--fsq092h.com'
# 正则匹配 punycode 编码
list_puny = re.findall('xn--(\w*)', url)
# 遍历进行 punycode 解码
list_cn = list(map(lambda x: x.encode('utf-8').decode('punycode'), list_puny))
# 对原 url 进行替换
for puny, cn in zip(list_puny, list_cn): url = url[:url.find(puny) - 4] + cn + url[url.find(puny) + len(puny):]
print(url)
# www.示例.com

之所以推荐该种编码方式,是因为python3的requests模块无法很好的识别中文url编码,导致域名无法访问;其次,谷歌浏览器也是使用的这种编码方式。

url 编码

中文汉字 转 url

from urllib.parse import quote
import stringurl = 'www.示例.com'
url = quote(url, safe = string.printable) # safe 表示可以忽略的字符,数字大小写字母特殊字符等
print(url)
# www.%E7%A4%BA%E4%BE%8B.com

url 转 中文汉字

from urllib.parse import unquoteurl = 'www.%E7%A4%BA%E4%BE%8B.com'
url = unquote(url, encoding='utf-8')    # encoding 表示编码,可为 GBK 或 utf-8
print(url)
# www.示例.com

【script】python 中文汉字与url的转换相关推荐

  1. 中文汉字到URL编码的转换

    在使用 Google或者 百度进行中文搜索的时候,我们会发现搜索过程中URL地址栏会变成一串格式字符串编码,我们编写程序经常也需要进行中文汉字到这类URL编码的转换,这里介绍两段相关的转换函数. 对于 ...

  2. python 中文汉字钱转成阿拉伯数字钱

    自己写的一个中文汉字钱转成阿拉伯数字钱的python demo. 例如: 二千万零二十三块              ==>     20000023 三百二十万五百两十三元    ==> ...

  3. 前端汉字encode_JavaScript URL汉字编码转换

    在使用url进行参数传递时,经常会传递一些中文名的参数或URL地址,在后台处理时会发生转换错误.在有些传递页面使用GB2312,而在接收页面使用UTF8,这样接收到的参数就可能会与原来发生不一致.使用 ...

  4. python将汉字转为拼音字母_科学网—[转载]python中文汉字转拼音 - 陈明杰的博文...

    将汉字转为拼音.可以用于汉字注音.排序.检索(Russian translation) . 特性根据词组智能匹配最正确的拼音. 支持多音字. 简单的繁体支持, 注音支持. 支持多种不同拼音/注音风格. ...

  5. java 数字转换成汉字_Java-String-阿拉伯数字转换成中文汉字数字

    package com.test; public class NumberUtils { private static final String[] UNITS = { "", & ...

  6. python判断汉字个数_python判断列表里数量python中文乱码问题大总结

    在运行这样类似的代码:#!/usr/bin/env python s="中文" print s 最近经常遇到这样的问题: 问题一:SyntaxError: Non-ASCII ch ...

  7. python汉字排序_【IT专家】Python中文排序(转载)

    本文由我司收集整编,推荐下载,如有疑问,请与我司联系 Python 中文排序(转载) 2012/02/02 3793 Python 比较字符串大小时,根据的是 ord 函数得到的编码 值.基于它的排序 ...

  8. 中文汉字转换拼音PHP类

    1 <?php 2 /** 3 * 中文汉字转换拼音类 4 * 功能支持 5 * 1.支持中文转换全拼 6 * 2.支持中文转换简拼(首字母) 7 * 3.支持转换的字符串返回格式设置(字符中间 ...

  9. python 中文转unicode编码_python实现unicode转中文及转换默认编码的方法

    本文实例讲述了python实现unicode转中文及转换默认编码的方法.分享给大家供大家参考,具体如下: 一.在爬虫抓取网页信息时常需要将类似"\u4eba\u751f\u82e6\u77e ...

最新文章

  1. 四种DCOM错误的区别,0x80080005 0x800706be 0x80010105 0x
  2. kali 安装java jdk
  3. 编程之美-求二进制数中1的个数方法整理
  4. 重磅!神策 2018 数据驱动大会报名正式开启!
  5. 献给开发者的大礼--打造CSDN论坛专用阅读器(电脑报2006年11月6日 第44期)
  6. Zabbix2.2.6邮件报警设置方法
  7. LeetCode | HouseCode 算法题
  8. Python中的进程和线程
  9. openmeetings2.0安装和开发
  10. 小波与小波包、小波包分解与信号重构、小波包能量特征提取 暨 小波包分解后实现按频率大小分布重新排列(Matlab 程序详解)
  11. 量子纠缠1——量子比特、Bell态、EPR佯谬
  12. android百度地图公交路线,android百度地图api实现查询经过某站点的所有公交路线...
  13. B - Zhu and 772002(高斯消元解异或方程)
  14. 用计算机播放cd,电脑上怎么放光盘_播放CD的方法步骤
  15. 不要为明天忧虑(10.14)
  16. div onload()
  17. 液压传动基础知识(一)
  18. 分析oracle缓慢原因,Oracle SQL执行缓慢的原因分析
  19. html中 a链接的默认样式,超链接的默认样式
  20. IDEA查看jks文件

热门文章

  1. 如何删除office2007、以及安装新版本office
  2. matlab设置背景颜色
  3. 探索 Python + HyperLPR 进行车牌识别
  4. Hadoop 生态系列之 1.0 和 2.0 架构
  5. MySQL用户管理和权限管理
  6. pycharm中的数据库可视化
  7. Python《爬取手机和桌面壁纸》
  8. 漫步最优化三十六——基本共轭方向法
  9. 漫步线性代数十一—— 四个基本子空间
  10. [机器学习-原理篇]学习之线性回归、岭回归、Lasso回归