java - 使用 ImageMagick 提取 IPTC(不带实体但采用 UTF-8)

标签 java utf-8 imagemagick iptc

我有一个包含 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/

相关文章:

php - 通用且干净的 UTF-8 编码 (PHP)

imagemagick - 定义 ImageMagick 转换的文件顺序

imagemagick - 为什么我的机器上的范围(imagemagick)行为不统一?

UTF-8 编码不支持 JSP

php - 为什么我不能在我的 mysql 数据库中查看外语字符?

java - 为什么我的猜数游戏没有向控制台输出任何内容?

java - 创建 Intent 时,方法 getParcelableExtra() 返回 null

imagemagick - 在 Imagemagick 中创建阴影效果

java - 面板 onClick 处理程序?

java - EJB部署错误