肉眼看到的相同两个字串的不同
不同 两个 相同 看到 字串
2023-09-27 14:26:43 时间
祭出两个相同(其实不同)的字符串
$strA = '8888';
$strB = '8888';
我们肉眼看到的这两个字符串是绝对相同的, 对的, 他是一个'8888', 让我们用 php (世界上最好的语言) 输出下两个字串的长度
# code
var_dump($strA);
var_dump($strB);
# result
string(7) "8888"
string(4) "8888"
我滴妈呀, 怎么会不同呢, 纳闷..
让我们撕下她的伪装
for ($i = 0, $iMax = strlen($strA); $i < $iMax; $i++) {
var_dump($strA[$i]);
}
string(1) "8"
string(1) "8"
string(1) "8"
string(1) "8"
string(1) "�"
string(1) "�"
string(1) "�"
咦, 这是个什么鬼. 不像是正常字符啊. 哦, 对了, 我们是用的Utf-8 字符集, 这三个应该是一个字符, 我们把它组合起来
获取到 ASCII 码值
for ($i = 0, $iMax = strlen($strA); $i < $iMax; $i++) {
var_dump(ord($strA[$i]));
}
int(56)
int(56)
int(56)
int(56)
int(226)
int(128)
int(172)
这个编码值是 [226 128 172], 让我们找到它.
看, 在这里
来自于这个网站, 好像是输出格式化标识符. 以上.
相关文章
- SpringMVC,3种不同的URL路由配置方法(这根本不是一个小问题)(转)
- java中父类与子类, 不同的两个类中的因为构造函数由于递归调用导致栈溢出问题
- GNN-图卷积模型-2016:MoNET【考虑邻域邻域中各节点的重要性的不同】
- Linux网络编程(四)-协议04:数据包封装【不同层数据包称谓:①传输层(TCP/UDP):段(segment);②网络层(IP):数据报(datagram);③链路层(Mac):帧(frame)】
- 基于ANN以使用有监督和无监督的学习将其分为不同的类别或识别模式(Matlab代码实现)
- git cherry命令来比较两个分支的不同
- 【工程应用三】三种不同的文本图像背景漂白/纯化/去除算法。
- 【转】不同内核浏览器的差异以及浏览器渲染简介
- 同一个账号启动两个resin而要求使用不同jdk的解决方法
- Navicat连接两个不同机子上的mysql数据库,端口用换吗?--不用
- SDN/NFV:定义网络未来发展的两个不同面
- 不同平台的线程并发接口对比
- 两个对象值同样(x.equals(y) == true),但却可有不同的hash code,这句话对不正确?
- 【自适应产品】Google搜索,从不同的搜索词看内容模块排序
- 使用泛型实现返回不同类型的对象
- JAVA获取两个List<String>中不同的数据
- unity 找到的对象是动态加载,且两个不同的父物体上都有要的那个对象并有相同的名子
- leetcode159. 至多包含两个不同字符的最长子串
- 使用 JavaScript 中的变量、数据类型和运算符,计算出两个 number 类型的变量与一个 string 类型的变量的和,根据 string 类型处于运算符的不同位置得到不同的结果
- linux比较两个文件的不同(6/21)
- C#之转换两个不同类型但是成员相同的对象
- 遍历两个数组,并输出数组中的不同内容
- pig加载两个不同字段个数的文件?load file with different items(f1有42列,f2有43列读到一个对象中)
- 挑战性题目DSCT302:求不同形态的平衡二叉树数目
- MFC-不同程序进程间通信
- 和koa不同的express是怎么实现