关于用UT8字符转换器完整显示歌名的补充

***的X108以其独特的性价比、DIY功能赢得大家的追捧 。许多大虾们为了让自己的手机更具有个性化,都自己制作大铃声然后再通过刷机实现 。但大虾们在替换内置来电铃声时着重谈的都是替换内置来电铃声,很少提及替换内置来电名字的;即使提及到的也一般限于和手机内置名字字数一样的 。那名字超过内置字数的我们该怎么办呢 。小弟我结合自己的一点经验就向各位介绍一下 。首先要感谢“阳光的微笑”DX的指点,是他的指导我才能完成此篇文章的 。
首先,用 Hex Workshop打开原始版本的BIN文件 。因为从“铃声2”开始的铃声都在BIN文件中 。

关于用UT8字符转换器完整显示歌名的补充



在 BIN文件中加入大铃声,并更改偏移指针,此步骤省略 。
打开 UT8字符转换器,输入 大铃声的名称,本文的例子为‘下一站天后’,UT8 会自动将其转换成手机能够识别的代码 。

将 UT8 转换的下一站天后的 UTF - 8 代码复制

回到 Hex Workshop 界面,我们需要把下一站天后的 UTF - 8 代码加入到 BIN 文件中,选择一段空余地址,选择‘编辑-特殊粘贴’

这里就是许多 大虾们介绍制作方法时最容易忽视的地方 。
在 UT8字符转换器中,一个中文字是替换成6个16进制的代码 。那就是说 ‘下一站天后’转换后成为 30 个 16进制的代码,而BIN文件中都是以4个4个代码相连表示一段内容的 。那就意味这在BIN文件中有2个代码是欠缺的 。所以我们必须用00来填补,使其凑满4的倍数的代码 。后面以FFFF 来填补,以使其名字能和后面的内容相隔 。

但有时我们替换的歌名的 16进制的代码正好是4的倍数,比如 ‘坚持到底’ 。它正好是 24 个 16进制的代码,这样看来似乎是正确的,但如果这时后面以FFFF 来填补,以使其名字能和后面的内容相隔 。那这样保存后的BIN文件刷机后只要一进入“我的铃声”就会造成死机的现象,原因是系统认为后面的FFFF也是替换的歌名的其中一部分,那这样一来铃声的这部分地址就出错了 。修改的办法是必须再在那 24 个 16进制的代码后再填补4个0000,即0000 。然后再在后面以FFFF 来填补 。

因此综上所述 。替换后的名字必须以 00结束 。如果替换的歌名的16进制的代码正好是4的倍数,那最后必须再补充一个字节的0000 。
将刚才的转换代码 粘贴,并且记住代码的起始地址,然后我们再输入‘铃声 2 ’,将‘铃声 2 ’的 UTF - 8 代码复制,然后回到 Hex Workshop 界面,查找到这一段代码,在 BIN 文件里会查到 2 个,我们需要修改第二个 。
我们再查看此段内容的起始地址,方法是在刚才找的内容处点击右键,选择添加书签 。

会出现如下图框,在这里的位置的地址框中有该段内容的地址,

选择复制,然后再在 BIN 文件中查找这段内容,把找到的内容换成我们刚才需要记住的代码的起始地址就可以了 。
完成后保存,再刷机就可以实现在手机上完整显示歌名了,替换其他字也是如此,此方法不仅可以替换相同数量的字也可替换不同数量的字 。
【关于用UT8字符转换器完整显示歌名的补充】 再次感谢“阳光的微笑” DX的指点 。同时也感谢大家的浏览 。

    推荐阅读