某论文里Dex数据区内的字符串数据的存储结构如下:
string_data_item{
uleb128 utf16_size; //字符串以UTF-16编码时的字节数,采用uleb128编码
ubyte[] data; //MUTF-8编码的字节序列
}
也就是字符串长度utf16_size采用uleb128编码,字符串data采用MUTF-8编码。
但是看了网上的一些资料,好像是字符串长度utf16_size先进行uleb128编码,然后再和字符串data一起进行UTF-16编码。
求解,上面哪一种理解正确,或者都不正确;知道字符串数据在数据区的偏移地址,怎么解析出字符串?
string_data_item{
uleb128 utf16_size; //字符串以UTF-16编码时的字节数,采用uleb128编码
ubyte[] data; //MUTF-8编码的字节序列
}
也就是字符串长度utf16_size采用uleb128编码,字符串data采用MUTF-8编码。
但是看了网上的一些资料,好像是字符串长度utf16_size先进行uleb128编码,然后再和字符串data一起进行UTF-16编码。
求解,上面哪一种理解正确,或者都不正确;知道字符串数据在数据区的偏移地址,怎么解析出字符串?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货