文本中的换行与缩进详解
今日无意碰到了个sql安装程序,其中有以下代码
1 $sql = file_get_contents($sqlfile);//获取sql文件内容
2 $sql = str_replace("\r\n", "\n", $sql);//如在wiin下,把换行符换为\n
3 $sql = str_replace("\r", "\n", $sql);//如在mac下把换行符换为\n
因为我是在windows平台下,所以刚开始分析代码时,觉得无法理解第三行(只知道win下换行填充的是\r\n,linux下是\n,mac下不知道,后经查询后知是\r).
于是以上代码意义豁然开朗,原来是把三个平台下的换行符统一为\n罢了...没什么好奇怪的...
但此时,新的疑问又产生了,win下文本文件中缩进这些空间填充的又是什么呢?心里面认为答案是:\t..下用ue的十六进制模式下进行实测,以下是截图
由于显示的问题,再复述一下,由以下可知,win下\r\n的十六进制为0x0D0A,缩进是用空格填充而成,十六进制码为0x20(有错,补充在最下面)


今天偶然在ue下发现,之前的认识有所缺失,其实是win下的文本中按tab键,在文本中填充的其实是为\t,十六进制码为0x09,也就是说,填充的是什么内容取决于你的输入


浙公网安备 33010602011771号