如何在exif文件中添加西里尔文符号? 我的代码alwais添加了符号“?”。 这段代码:
String userComment = "АБВГДЕЁЖЗИЙКЛСНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
exifInterface.setAttribute("UserComment", userComment );
exifInterface.saveAttributes();
或
String userComment = "АБВГДЕЁЖЗИЙКЛСНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
exifInterface.setAttribute("UserComment", new String(userComment.getBytes(), "UTF-8"));
exifInterface.saveAttributes();
答案 0 :(得分:0)
认为ExifInterface类不支持这种西里尔文。
我试图用
从该标签中获取字节 byte [] bytes1 = exifInterface.getAttribute("UserComment").getBytes();
byte [] bytes2 = exifInterface.getAttribute("UserComment").getBytes("utf-8");
// byte [] bytes3 = exifInterface.getAttribute("UserComment").getBytes("utf-16");
// byte [] bytes3 = exifInterface.getAttribute("UserComment").getBytes("ISO-8859-1");
byte [] bytes3 = exifInterface.getAttribute("UserComment").getBytes("windows-1252");
然后以十六进制表示法显示字节。他们都是垃圾。
33个字符有66个字节。不知道使用了哪种编码。
我想将它们与字母表字符串的字节进行比较。
还尝试编译Andoid 7,但都是一样的。
我放弃了; - )。
答案 1 :(得分:0)
Exif中的“ UserComment”标签支持ASCII或Unicode。
不幸的是,Android的ExifInterface仅使用ASCII来写入或读取标签。
因此,Android的ExifInterface不支持西里尔字母。
但是这个库可能会帮助您: