I made it!it's my code!
我解决啦,代码如下,希望对你有帮助!
Sub EMenuFTP_ListCompleted (ServerPath As String, Success As Boolean, Folders() As FTPEntry, Files() As FTPEntry)
Dim i As Int '定义文件名循环
Dim j As Int '定义文件名中乱码字符循环
Dim BConverter As ByteConverter '定义Byte转换库
Dim BytesArray() As Byte '定义Bytes Array
Dim HEXChar As String '定义Bytes 转换为的HEX Char
Dim HEXString As String '定义HEX Char 连接起来的HEXString
Dim GBKString As String '定义HEXString转换完成后的GBK编码String
MenuPhotoName.Initialize '初始化List,否则报错误
If Success = False Then
' Log(LastException)
Msgbox("连接服务器错误!", "错误提示")
ExitApplication
Else
' For i = 0 To Folders.Length - 1 ’获取文件夹
' Log(Folders(i).name)
' Next
'
For i = 0 To Files.Length - 1 '文件名循环
HEXString = ""
For j = 0 To Files(i).Name.Length -1 '文件名取Char循环
BytesArray = BConverter.StringToBytes (Files(i).Name.CharAt(j), "UNICODE") 'Unicode乱码按Char转换为Bytes Array
HEXChar = BConverter.HexFromBytes (BytesArray) 'Bytes 转换为 HEX
HEXString = HEXString & HEXChar.CharAt (4) &HEXChar.CharAt (5) '取出有效的第4位和第5位
Next
BytesArray = BConverter.HexToBytes (HEXString) 'HEXString转换为Bytes Array
GBKString = BConverter.StringFromBytes (BytesArray, "GBK") 'Bytes Array转换为GBK String
MenuPhotoName.Add(GBKString) '加载到MenuName List中
Next
For i=0 To MenuPhotoName.Size-1
'Log(MenuName.Get(i))
' Log(MenuName.Get(i) & ", " & Files(i).Size & ", " & DateTime.Date(Files(i).Timestamp))
Next
Msgbox("FTPLIST完成!","提示")
' Msgbox(Files(1).Name & ", " & Files(1).Size & ", " & DateTime.Date(Files(1).Timestamp),"提示")
End If
End Sub