由小白到大大的涅盘,从vgsky.com开始!

关于文件名显示不全的成因分析

Update:2007/10/6,Click:0 本文如有下载 请从下面附件中下载

举手之劳 是您对我们最大的支持 感谢您!

为什么PSP上文件名会显示乱码呢?坛子里好像没人说过(可能我孤陋寡闻),那我来说一下吧。T5'ov=U=B**u`szO+$,W本文来自:V电G玩S天K空Y
不过,我还不知道如何解决,所以只是成因分析。T5'ov=U=B**u`szO+$,W本文来自:V电G玩S天K空Y
T5'ov=U=B**u`szO+$,W本文来自:V电G玩S天K空Y
恩。。。T5'ov=U=B**u`szO+$,W本文来自:V电G玩S天K空Y
事情的由来是这样的:T5'ov=U=B**u`szO+$,W本文来自:V电G玩S天K空Y
显示你盘上的文件名,首先要能列出文件名,这一步必须通过调用操作系统的API才能完成。T5'ov=U=B**u`szO+$,W本文来自:V电G玩S天K空Y
sony提供了sceIoDopen()、sceIoDread()、sceIoDclose()等函数完成这一系列操作。T5'ov=U=B**u`szO+$,W本文来自:V电G玩S天K空Y
其中调用sceIoDread()可以列举用sceIoDopen()打开的文件夹中所包含的所有文件以及子文件夹,每调用一次就可以得到一个SceIoDirent结构。SceIoDirent中的d_name成员存放了文件/文件夹的名称。T5'ov=U=B**u`szO+$,W本文来自:V电G玩S天K空Y
问题就出在这里,T5'ov=U=B**u`szO+$,W本文来自:V电G玩S天K空Y
在我的msd中有这样一个文件,文件名为:PSP1.5版中破损文件名隐藏法.txt,显然在windows下查看正常,但在d_name里却成了:PSP1.5斉拞攋仭暥審柤仭錟朄.txtT5'ov=U=B**u`szO+$,W本文来自:V电G玩S天K空Y
(我通过dump memory,然后保存到文件后看到的,以下为trace:T5'ov=U=B**u`szO+$,W本文来自:V电G玩S天K空Y
Start dump class <CFileSystemInfo> len=264:T5'ov=U=B**u`szO+$,W本文来自:V电G玩S天K空Y
[瘧PSP1.5斉拞攋仭暥審柤仭錟朄.txt                                                                                                                                                                                                                                      ]T5'ov=U=B**u`szO+$,W本文来自:V电G玩S天K空Y
In Hex: [18][af][91][8][50][53][50][31][2e][35][94][c5][92][86][94][6a][81][a1][95][b6][8c][8f][96][bc][81][a1][e5][55][96][40][2e][74][78][74][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0][0]T5'ov=U=B**u`szO+$,W本文来自:V电G玩S天K空Y
Dump class complete.T5'ov=U=B**u`szO+$,W本文来自:V电G玩S天K空Y
T5'ov=U=B**u`szO+$,W本文来自:V电G玩S天K空Y
T5'ov=U=B**u`szO+$,W本文来自:V电G玩S天K空Y
这是什么编码?(shift-jis,看cnreader就知道了。。。)T5'ov=U=B**u`szO+$,W本文来自:V电G玩S天K空Y
T5'ov=U=B**u`szO+$,W本文来自:V电G玩S天K空Y
用ultraedit打开后将乱码部分贴到新文件里后保存,然后用ie打开,切换编码为“日文(Shift-JIS)”然后熟悉的一幕出现了:T5'ov=U=B**u`szO+$,W本文来自:V电G玩S天K空Y
PSP1.5版中破■文件名■藏法.txt

【分类导航】

【热门游戏资讯】

更多

【推荐游戏资讯】

更多

【最新资讯更新】

更多

【赞助商链接】