16 进制 hex 中 little-endian 转 big-endian 研究 exif - Assbbs

16 进制 hex 中 little-endian 转 big-endian 研究 exif 也不知道哪个脑瘫搞出了 little-endian 和 big-endian 两种编码…… jpeg 文件头读出的 hex 都是 big-endian ,只有 exif 部分,有些相机采用 little-endian ,常见于 canon…

16 进制 hex 中 little-endian 转 big-endian 研究 exif 也不知道哪个脑瘫搞出了 little-endian 和 big-endian 两种编码…… jpeg 文件头读出的 hex 都是 big-endian ,只有 exif 部分,有些相机采用 little-endian ,常见于 canon 。 于是很蛋疼要把 little-endian 转成 big-endian 再进行处理。 经查询研究,转换 little-endian 到 big-endian 的方法是: 1. 把每对 hex 字符(例如 01 08 中 01 是一对 08 是一对)中每个字母互换( 01 换为 10 / 08 换为 80 )。 2. 把互换后的字符串反转(10 80 换为 08 01 )即可。 function le be str { let tmp=''; while str.length>2 {tmp+=str.slice -2 ;str=str.slice 0,-2 ;}; return tmp+str; };