看到如下问题:
虽说文件和网都不是国人发明的,但也没必要一定要按英文来啊。最底层的还是英文,就不能改成中文吗?是我们没技术吗?还是懒得研究呢?好不容易出现一个中文编程,编出的程序却被我们的软件试别成病毒。
键盘换成中文应该容易吧?有谁做吗?之前我问过,有人说,编一个系统很容易,难的是兼容。为什么苹果的系统,有那么多国产软件可以去适应它呢?是因为苹果有钱吗?为什么要这样比呢?中文很重要吗?重要的是,国与国之间的竞争。
非得用英文作网址吗?难道网的技术被英国垄断了,全世界的网都归它管吗?
那么网址可以用中文吗?
当然可以!可以把网址的大部分设置为中文,但复制的时候并无法正常显示,而是会被转码。且看:
https://www.fuyeor.com/en-us/follow?form=zhihu
这是一个典型的网址(Url) ,其中:
也就是说,除了协议、URL中的保留字符(例如 /、?、#、= 之类的符号)外。都可以使用其他的语言,包括中文。
其中,中文域名叫做“IDN 国际化域名[1]”,中国拥有国别域名后缀如下:
此外还具有一些公司申请的中文域名,例如 .手机、.公司、.网址 等等。
需要注意的是,IDN 国际化域名在实际使用中需要经过“Punycode 转码”,转码后的域名就由26个字母+10个数字,还有“-”组成。
因为操作系统的核心都是英文组成,DNS服务器的解析也是由英文代码交换,所以DNS服务器上并不支持直接的中文域名解析,所有中文域名的解析都需要转成punycode码,然后由DNS解析punycode码。其实所说和各种浏览器完美支持中文域名,只是浏览器软件里面主动加入了中文域名自动转码,不需要原来的再次安装中文域名转码控件来完成整个流程。
IDN 域名的Punycode转码是什么意思?
中文域名是什么?
网址中当然可以随时随地使用中文的目录和参数、文件名,例如:
优点是简明易懂,但缺点是复制后仍然需要经过转码,只不过这次不再是“Punycode 转码”,而是“Urlencode 转码[2]”。
例如“Urlencode 转码”这句话经过 Urlencode 就会变成这样:
Urlencode%20%E8%BD%AC%E7%A0%81
Urlencode 是什么意思?为什么需要 Urlencode 处理?
如果这样的网址:
https://知乎.网址/问题/网址可以用中文吗?
实际上访问起来是这样的,包括复制网址出来也是这样的:
https://xn--djqu72h.xn--ses554g/%E9%97%AE%E9%A2%98/%E7%BD%91%E5%9D%80%E5%8F%AF%E4%BB%A5%E7%94%A8%E4%B8%AD%E6%96%87%E5%90%97%EF%BC%9F
是不是比较难看?