按照FILELIB4/EAXM11得到LongNameBuf怎么整出長(zhǎng)文件名

參照那個(gè)程序,已經(jīng)能由段文件名找出長(zhǎng)文件名,串口輸出如下所示

測(cè)試串口 CH375LibInit()返回值:0x0,操作成功 請(qǐng)連接U盤.... U盤已經(jīng)連接 U盤初始化完畢 CH375DiskSize()返回值:0x0,操作成功 U盤有115個(gè)扇區(qū) 文件列表如下 /偶陣雨.MP3 x:0073 /三寸日光.MP3 x:008a /我的歌~1.MP3 x:00a1 Get long Name# CH375GetLongName CH375FileOpen( )返回值:0x0,操作成功 CheckNameSum CH375vFdtOffset取值為352 offset取值為352 CH375GetLongName( )返回值:0x0,操作成功 LongNameBuf: 62 11 76 84 6B 4C 58 F0 91 CC 00 2E 00 6D 00 70 00 33 00 00 FF FF .............DE AD FB BE 76 4F 90 BF

我知道長(zhǎng)文件名存放在LongNameBuf指針里面,可是一旦加入printf("%s\n",LongNameBuf); 就會(huì)出現(xiàn)亂碼(亂七八糟的中文,英文混合的東西),這是怎么回事兒??這個(gè)該怎么整????

長(zhǎng)文件名獲取的是UNICODE編碼,不是ASCII編碼。所以你看的時(shí)候會(huì)出現(xiàn)亂碼。中文的話需要通過(guò)轉(zhuǎn)換成ASCII才行的。這個(gè)你可以去看下FAT文件系統(tǒng)資料。


@hcn 版主大人,那你的意思是需要自己寫一個(gè)函數(shù),用于實(shí)現(xiàn)將UNICODE轉(zhuǎn)成ASCII編碼嗎??這個(gè)有木有現(xiàn)成的例子,還是必須的自己寫一個(gè)啊


是的 我們沒有現(xiàn)成的例子,需要你自己編寫。


只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频