我在Android活动的TextView中有重音字符的问题。渲染显示问号而不是字符“è”和“à”。流程是:从网络资源获取midi文件 - >提取歌词 - >把歌词放在TextView中。我不明白编码或字符集是否有问题。我尝试使用“UTF-8”或“ISO ...”对文件进行编码,但每次尝试都失败了。你能救我吗?
提前致谢。
答案 0 :(得分:2)
在将歌词放入文本视图之前,您可以尝试这样的事情:
newLyrics = new String(oldString.getBytes("UTF-8"),"UTF-8");
答案 1 :(得分:0)
检查一次:
https://www.csie.ntu.edu.tw/~r92092/ref/midi/
Midi文件基本上包含二进制格式+ ascii值作为标题数据,所以如果你可以转换它并表示它像 - 如果您可以将该二进制格式编码为base64,则会将任何数据转换为ascii安全文本
答案 2 :(得分:0)
您可以尝试以下代码:
//String encode function
fun encodeEmoji(message: String): String {
try {
return URLEncoder.encode(
message,
"UTF-8"
)
} catch (e: UnsupportedEncodingException) {
return message
}
}
//String decode function
fun decodeEmoji(message: String): String {
val myString: String? = null
try {
return URLDecoder.decode(
message, "UTF-8"
)
} catch (e: UnsupportedEncodingException) {
return message
}
}
功能使用
var string:String=CommonMethod.encodeEmoji("your string")
string=CommonMethod.decodeEmoji(string)