我有一个包含 ITPC 数据的图像,并使用以下命令将 IPTC 提取为文本数据:
convert image.jpg IPTCTEXT:iptc.txt
问题是这似乎使用“特殊字符”实体:
2#120#Caption="Beschreibung für den Import aus IPTC"
其实这里应该是“für”。但不是得到正确的实体ü对于“ü”字符,我得到两个实体(可能 UTF-8 编码字符的两个字节都转换为分离的实体)。我无法正确解析这两个实体。
有什么方法可以获取正确的实体或禁用完全返回 UTF-8 字符的实体吗?
编辑: 我尝试在 Java 中使用 StringEscapeUtils.unescapeXml 解析实体,但我得到两个字符(“ü”)而不是“ü”,因为这两个实体都未转义分隔。
编辑2: 此处的示例图片:http://fs1.directupload.net/images/150615/5eiv6wwf.jpg
最佳答案
最可靠的元数据包是 IMHO exiv2( http://exiv2.org/ ;在所有 Linux 发行版、Windows 中可用,不确定 Mac 二进制文件)。
参见http://paste.fedoraproject.org/232538/34459066/为了结果。恐怕 ImageMagick 用于元数据目的并不是那么好。
关于java - 使用 ImageMagick 提取 IPTC(不带实体但采用 UTF-8),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30848923/