我正在寻找图像的文件属性,特别是由相机/扫描仪/ adobe /等创建的jpg文件。
有一个细节与其他细节不同。图像尺寸似乎具有未显示在显示文本中的Unicode代码点。文字显示为:3264 x 2448
。
事实证明,这个字符串的任何一端都有代码点,我无法弄清楚。它可能非常直接,但在我搜索之后我不知所措。
可在此处找到属性文档:
property format: {6444048F-4C8B-11D1-8B70-080036B11A03}
0xd => 13 => property id (for Systems.Image.Dimensions)
3264 x 2448 => Image dimensions as the "appear" on the screen
这就是我所拥有的(Python 3.5输出):
0xd => 3264 x 2448 0xd => b"?3264 x 2448?" len: 13
这是转换为十六进制字节的实际字符串。
Hex Bytes: e2 80 aa 33 32 36 34 20 78 20 32 34 34 38 e2 80 ac
Character: ?? ?? ?? 3 2 6 4 x 2 4 4 8 ?? ?? ??
有谁知道“0xe280aa”和“0xe280ac”是什么以及我缺少什么?
它们是jpg图像的整个属性集合中唯一“有趣”的字符。我不知道它们是什么,或者为什么它们在场。
答案 0 :(得分:1)
您的属性文本以UTF-8编码。
e2 80 aa
是Unicode代码点U+202A LEFT-TO-RIGHT EMBEDDING
的UTF-8编码。
e2 80 ac
是Unicode代码点U+202C POP DIRECTIONAL FORMATTING
的UTF-8编码。
在双向文本中嵌入从左到右文本时使用这些标记。
Raymond Chen在与Windows资源管理器中显示的文件名类似的问题上发表了关于此事的博客:
Why is there an invisible U+202A at the start of my file name?