Php-编码解码punycode
前言 域名的编码解码 什么是PunyCode 英文域名在IIS或Apache中的虚拟主机设置,可以直接使用英文域名,如webmasterhome.cn。 中文域名在IIS或Apache中应如何设置主机头呢 在进行设置之前要先把中文域名转化成为PunyCode编码,然后在主机头设置里面填上中文域名所对应的PunyCode编码(xn–fiqsC146Ah4ex80Cro7A.com)便可。 新的国际化域名的标准在网域名称编码上,为了保留向下兼容性及不影响现有的应用程序协议,因此将多国语言域名转成ASCII编码 目标 前置条件 正式内容 <?php class Punycode { const TMIN=1; const TMAX=26; const BASE = 36; const INITIAL_N = 128; const INITIAL_BIAS = 72; const DAMP = 700; const SKEW = 38; const DELIMITER = '-'; const MAXINT = 2147483647; //encode编码时候的错误返回值 const ERROR_BAD_INPUT = -1; const ERROR_BIG_OUTPUT = -2; const ERROR_OVERFLOW = -3; /** * 配置 * 1: 使用iconv * 2: iconv Unicode-1-1 * 3: 使用mb_convert_encoding(较通用,需mb_string支持) */ const CHARSET_MODE = 3; /** * punycode编码 * @param string $input * 输入的字符传不能有空格....