域名 punycode 中文 IDN IDN 国际化域名(英语:Internationalized Domain Name,缩写:IDN) Punycode 国际化域名的编码方式,中文域名和一些特殊文字...都需要Punycode 编码一下的 中文(特殊文字)转 Punycode 通过 idn_to_ascii 函数 参考地址:https://www.php.net/manual/zh/function.idn-to-ascii.php...它有四个参数 domain, utf8 格式的域名,就是。...idn_to_ascii("alone88.我爱你",IDNA_NONTRANSITIONAL_TO_ASCII,INTL_IDNA_VARIANT_UTS46) 转换成:alone88.xn--6qq986b3xl Punycode...转 中文 通过idn_to_utf8 函数 参考地址:https://php.net/manual/zh/function.idn-to-utf8.php 参数和 idn_to_ascii 一样的,
因为操作系统的核心都是英文组成,DNS服务器的解析也是由英文代码交换,所以DNS服务器上并不支持直接的中文域名解析,所有中文域名的解析都需要转成punycode码,然后由DNS解析punycode码。...其实目前所说和各种浏览器完美支持中文域名,只是浏览器软里面主动加入了中文域名自动转码,不需要原来的再次安装中文域名转码控件来完成整个流程。...中文域名变为Punycode编码即可,在线转码地址:http://tools.jb51.net/punycode/,如下图: Punycode?...Punycode是一个根据RFC 3492标准而制定的编码系统,主要用於把域名从地方语言所采用的Unicode编码转换成为可用於DNS系统的编码。..."中文域名"后缀不被标准的解析服务器支持,需转化为punycode码进行解析。
今天修改一个天气预报的东西,但输入城市不能得到天气预报,感觉是编码不对,因为你输入一个城市(比如‘杭州’),url的地址编码却是'%E4%B8%BD%E6%B1%9F',因此需 要做一个转换。...print urllib.unquote('%E6%9D%AD%E5%B7%9E') 杭州 细心的同学会发现贴吧url中出现的是%C0%F6%BD%AD,而非'%E4%B8%BD%E6%B1%9F',其实是编码问题
Punycode 编码Punycode 是处理国际化域名(IDN)的一种技术,它将非 ASCII 字符(如中文、阿拉伯文、希腊文等)转换为 ASCII 字符,从而使这些字符能够在传统的 DNS(域名系统...1.1 Punycode 的工作原理Punycode 编码的过程相当复杂,但可以简化为以下几个步骤:字符分类:首先,将域名中的字符分为两类——普通 ASCII 字符(a-z、0-9 和 -)和非 ASCII...为了与普通域名区分开,Punycode 编码通常在非 ASCII 字符前加上一个前缀,如“xn--”。编码转换:使用 Punycode 编码算法将非 ASCII 字符转换为 ASCII 字符串。...1.2 Punycode 示例以中文域名 中文域名.中国 为例,Punycode 编码后的结果是 例.公司。...目前,绝大多数现代 DNS 服务器和浏览器都已经支持 Punycode 编码的域名,因此用户可以无障碍地使用中文域名。3.
首先简要介绍字符串编码的历史,其次,讲解 python 对于字符串的处理,及编码的检测与转换,最后,介绍 python 爬虫采取的 json 数据存入文件时中文输出的问题。...参考书籍:Python网络爬虫从入门到实践 by唐松 在python 2或者3 ,字符串编码只有两类 : (1)通用的Unicode编码; (2)将Unicode转化为某种类型的编码,如UTF-8,GBK...;ASCII一共规定了128种,如大写字母A是65,即01000001;可见一字母一字节; GB2312编码 简体中文常见的编码,两个字节代表一个中文汉字 ,理论上256*256个编码,即可表示65536...种中文字; 各国编码不同,为了各国能扩平台进行文本的转换与处理,Unicode就被作为统一码或者单一码。...网上关于中文这个编码问题有很多,但是他们都没有强调python版本的问题!!!其他3.xx的版本没有试过。
php实现汉字转unicode编码的方法:首先创建一个PHP示例文件;然后通过“function UnicodeEncode($str){…}”方法将指定汉字转换为unicode字符串即可。...下面来看PHP Unicode编码方法,将中文转为Unicode字符,例如将新浪微博转换为unicode字符串,代码如下:function UnicodeEncode($str){ //split...(‘UTF-8’,”UCS-4″,m)),16,10); } return $unicodeStr; } $str = “新浪微博”; echo UnicodeEncode($str);Unicode编码输出字符串
DEMO https://oktools.net/unicode Unicode转中文 function decodeUnicode() { let input = area_input.value...; area_output.value = unescape(input.replace(/\\u/gi, '%u')); } Unicode编码 function...toString(16)).slice(-4); } area_output.value = "\\u" + res.join("\\u"); } ASCII转Unicode...String.fromCharCode(code[i].replace(/[]/g, '')); } area_output.value = result; } Unicode转ASCII
Punycode是什么? Punycode是一个根据RFC 3492标准而制定的编码系统,主要用於把域名从地方语言所采用的Unicode编码转换成为可用於DNS系统的编码。...浏览器对punycode的支持 目前,因为操作系统的核心都是英文组成,DNS服务器的解析也是由英文代码交换,所以DNS服务器上并不支持直接的中文域名解析,所有中文域名的解析都需要转成punycode...其实目前所说和各种浏览器完美支持中文域名,只是浏览器软里面主动加入了中文域名自动转码,不需要原来的再次安装中文域名转码控件来完成整个流程。...完全免费,双向转换 中文域名转码就是将中文字符串转成punycode标准编码的字符串。 本服务目前支持GBK,GB2312编码和punycode编码的相互转换。...域名串不允许有除“-”以外的标点符号,包括空格。 可以夹杂中文和英文。 可以输入全角英文字母,全角字母不区分大小写。
中文域名绑定教程 虚拟主机或服务器需要绑定域名才能通过域名来访问,而中文域名不能直接绑定到主机,需要先将其转码成字符串后才能绑定。...具体的方法就是找一个中文域名转码的网站,将你的中文域名输入,然后按照punycode编码格式转换即可。如图所示: ? 中文域名转码前 ? ...中文域名转码后 将中文字符串转成punycode标准编码的字符串后,就可以正常绑定到主机空间上了。这样当中文域名解析和绑定后,在浏览器中直接访问中文域名或转换后的字符串均可。
配置之前先来解释一下中文域名是如何工作的: 当我们在浏览器上输入 朝阳.北京.中国 这个域名的时候 浏览器会把中文域名翻译成Punycode编码然后再 传送给DNS服务器解析,例如 朝阳.北京.中国 翻译成...Punycode编码以后就是 xn--tpv116h.xn--1lq90i.xn--fiqs8s 朝阳 = xn--tpv116h 北京 = xn--1lq90i 中国 = xn--fiqs8s 点我转码...所以我们需要在Linux DNS服务器上用Punycode码做域名。...下面开始配置 首先配置主配置文档(在这里我就只配置了一个正向区域,反向区域跟平常的是一样的只是域名那里要更换成Punycode编码) 然后修改解析文件 这里DNS就配置好了 重启dns服务。...下一步我们要配置apache绑定这个中文域名,从而实现用浏览器的访问 (apache 服务在这里就不讲了,没有学过apache服务的同学在配置之前最好学习一下apache服务) 绑定完成后重启apache
punycode Punycode是一个根据RFC 3492标准而制定的编码系统,主要用於把域名从地方语言所采用的 Unicode编码转换成为可用於DNS系统的编码。...Punycode可以防止所谓的IDN欺骗。 早期的DNS(Domain Name System)是只支持英文域名解析。...在IDNs(国际化域名Internationalized Domain Names) 推出以后,为了保证兼容以前的DNS,所以,对IDNs进行punycode转码,转码后的punycode就由26个字母...目前,因为操作系统的核心都是英文组成,DNS服务器的解析也是由英文代码交换,所以DNS服务器 上并不支持直接的中文域名解析,所有中文域名的解析都需要转成punycode码,然后由DNS解析punycode...其实目前 所说和各种浏览器完美支持中文域名,只是浏览器软件里面主动加入了中文域名自动转码,不需要原来的再次安装 中文域名转码控件来完成整个流程。
各种不识别,如果直接发中文域名是这样的: 直接识别不了这是个链接,英文域名(不能算英文域名其实是punycode解码后的),手机上直接是废的。到xn自动截断了。...Punycode是一个根据RFC 3492标准而制定的编码系统,主要用於把域名从地方语言所采用的Unicode编码转换成为可用於DNS系统的编码。Punycode可以防止IDN欺骗。...在IDNs(国际化域名Internationalized Domain Names)推出以后,为了保证兼容以前的DNS,所以,对IDNs进行punycode转码,转码后的punycode就由26个字母+...浏览器对punycode的支持 目前,因为操作系统的核心都是英文组成,DNS服务器的解析也是由英文代码交换,所以DNS服务器上并不支持直接的中文域名解析,所有中文域名的解析都需要转成punycode...其实目前所说和各种浏览器完美支持中文域名,只是浏览器软里面主动加入了中文域名自动转码,不需要原来的再次安装中文域名转码控件来完成整个流程。 mac版的微信倒是识别出来了是个域名,但是就这么个体验?
DNS 解析用户实践征文 https://cloud.tencent.com/document/product/855/73680 由于多数内容都被写完了,故投稿一篇【中文域名】场景应用。...纯中文域名如 新闻.中国 或半 中文 中国.cn 都是由punycode编码转换的到的地址,属于idn域名(国际化域名)。 但由于特殊性出现了常见的问题,如搜索不收录,邮件不支持等。...故此诞生了纯英文的伴生 ·中文的场景应用解决办法。 首先购买纯英文的通用域名确保域名可靠性。...随便找一个punycode编码转换的网站 https://myssl.com/punycode.html (wgpro.com是我的域名 前面随便写个中文就当自己是 二级中文域名用吧 如 中国.com.cn...但是优点比纯定义的idn 中文域名好,可以绑邮件可以加搜索。 用途如一个站 绑定多域名 例下 原来 down.wgpro.com 还能在绑个下载.wgpro.com 顺手又不累
Punycode钓鱼攻击 在默认情况下,许多web浏览器使用“Punycode”编码来表示URL中的Unicode字符,以防止同形异义字钓鱼攻击。...Punycode是浏览器使用的特殊编码,目的是将Unicode字符转义成字符数目有限的ASCII 码字符集(A-Z,0-9),由国际化域名(IDN)系统支持。...比如说,中文域名“短.co”用Punycode来表示就是“xn--s7y.co”。...根据Zheng的博客,这个漏洞所依赖的基础是:浏览器只将单一语言采用的Unicode编码转换为Ponycode URL (比如汉语或者日语),但是如果一个域名当中包含来自多个语言的字符,浏览器就无法分辨了...此处的xn前缀是一个“ASCII兼容编码”前缀,意味着浏览器采用Punycode编码来代表Unicode字符,因为Zheng用到了斯拉夫语的“а” (U+0430)而非ASCII的“a”(U+0041)
备注: 早期的DNS(Domain Name System)是只支持英文域名解析。域名的编码字符集是ASCII码。...Unicode又被称为 统一码、万国码、单一码,它是为了解决传统的字符编码方案的局限性而产生的,它为每种语言中的每个字符设定了统一并且为之一的二进制编码。...IDN:国际化域名(英语:Internationalized Domain Name,缩写:IDN)又称特殊字符域名,是指部分或完全使用特殊的文字或字母组成的互联网域名,包括法语、中文、斯拉夫语、泰米尔语...先看看www.xn—80ak6aa92e.com解析成中文域名后,是什么样的,如下: ?...Punycode的攻击方式存在两个明显的优势,导致常被攻击者选取用来攻击: Masquarading:从肉眼上很难区分正常域名和punycode伪装的域名,进行网络钓鱼的成功率很高。
它的原理是这样的:在希腊、西里尔、亚美尼亚这样的国家,他们的网址域名会用到一些“地方语言”,这时网址看起来虽然一样,但是电脑认为不同。...说起来,中文域名其实也算是一种“奇奇怪怪的地方语言”,“丫头”的丫字也是字母 Y 的远房表亲 。 DNS 服务器很崩溃,它表示: 老子可看不懂这些乱七八糟的“方言”,它表示很崩溃。 ?...(注:DNS 即域名解析,通过网站域名来指向网站服务器IP) 为了让 DNS服务器能看懂这些“方言”,许多浏览器用一种叫 punycode 的编码方式, 把一些奇奇怪怪的“地方语言”翻译成网络 DNS服务器能懂的英文字符...例如: 企鹅.com,用 Punycode 转换后为:xn--hoq754q. co 中国.cn,用 Punycode 转换后为:xn--fiqs8s. cn 你会注意到,punycode 转码之后的网站都会以...攻击者注册一个名为:xn--fiqs8s. cn 的域名,网址输入到浏览器之后,浏览器会自动还原成 “中国.cn ”。
许多 Unicode 字符,代表的是国际化的域名中的希腊、斯拉夫、亚美尼亚字母,看起来跟拉丁字母一样,但是计算机却会把他们处理成完全不一样的地址。...为了防止这种钓鱼攻击,许多浏览器使用 “Punycode” 编码来表示 URL 中的 Unicode 字符。...Punycode 是浏览器使用的特殊编码,目的是将 Unicode 字符转义成字符数目有限的 ASCII 码字符集(A-Z,0-9),由国际化域名(IDN)系统支持。...比如说,中文域名「短.co」用 Punycode 来表示就是「xn--s7y.co」。...此处的 xn 前缀是一个 “ASCII兼容编码” 前缀,意味着浏览器将采用 Punycode 编码来代表 Unicode 字符。这里就不再介绍其细枝末节了。
案例2,\xe5\x8f\xa4\xe8\xbf\xb9编码 \xe5\x8f\xa4\xe8\xbf\xb9编码处理 userInputTag=["\xe5\x8f\xa4\xe8\xbf\xb9",...这种方法可以指定一个编码打开文件,使用这个方法打开的文件读取返回的将是unicode。...写入时,如果参数 是unicode,则使用open()时指定的编码进行编码后写入;如果是str,则先根据源代码文件声明的字符编码,解码成unicode后再进行前述 操作。...相对内置的open()来说,这个方法比较不容易在编码上出现问题。
上图是西里尔字母表,我们可以发现有不少字母与拉丁字母相识,这就是为什么用西里尔字母来进行混淆的原因 浏览器会通过Punycode来编码非拉丁字符的域名,编码后就可以避免产生混淆,但发现如果域名的一个字段里所有字符都是同一种语言...,就不会进行编码(之前freebuf上有篇文章可能是笔误,关于这点刚好说反了)。...但我还是发现chrome有时候编码了,有时候又没编码 ? 比如上面看到的“淘宝”,并没有编码。...,先Punycode转码后再查询 јԁ.com 转码后 xn--e2a25a.com ?...在国内不允许注册Punycode转码后的域名 ? 在国外的域名网站就可以正常查询了,这里显示的not available是指已经被注册了,而不是说Punycode转码域名不能注册。
学习并了解到Html编码的知识,源于工作中的产品需求。...如果一个URL里面包含Puny Code(不仅仅指中文,还可能是韩文等Unicode里非英文的国家文字,本文以含中文的URL为例),而且这个URL刚好被保存在Html中作为链接,那么其中的Puny Code...将会被编码,因为中文等字符不能直接储存在Html的链接中。...Html编码与解码举例 真实的URL:www.繁体中文.google.com Html中的URL: <a href="http://www.繁体中..., 繁 —> 繁 主要格式是 "" + 一个十进制数 + ";",而这个十进制数正是汉字"繁"的中文内码。"
领取专属 10元无门槛券
手把手带您无忧上云