以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]怎样把一个字符串转换为unicode的编码方式?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=98409)

--  作者:54292550
--  发布时间:2017/3/29 12:55:00
--  [求助]怎样把一个字符串转换为unicode的编码方式?
在狐表里面用哪个函数把一个路径变成unicode的编码方式?
[此贴子已经被作者于2017/3/29 13:24:40编辑过]

--  作者:有点蓝
--  发布时间:2017/3/29 14:22:00
--  
在什么地方用的,要做什么
--  作者:有点色
--  发布时间:2017/3/29 14:48:00
--  

 这个?

 

http://www.foxtable.com/mobilehelp/scr/0241.htm

 


--  作者:54292550
--  发布时间:2017/3/29 14:51:00
--  回复:(有点色)?这个??http://www.f...
\'辅助函数:BSTR字符串转换为CHAR字符串
Function StringToBytes(ByVal szText As String) As Byte()
    If Len(szText) > 0 Then
        StringToBytes = StrConv(szText, vbFromUnicode)
    End If
End Function
  
\'辅助函数:CHAR字符串转换为BSTR字符串
Function BytesToString(bytesText() As Byte) As String
    If SafeArrayGetDim(bytesText) <> 0 Then
        BytesToString = StrConv(bytesText, vbUnicode)
    End If
End Function



StrConv(App.Path, vbUnicode)


网上找到的函数代码。。。。。
不知道怎么转换到foxtable里。

[此贴子已经被作者于2017/3/29 14:55:06编辑过]

--  作者:54292550
--  发布时间:2017/3/29 15:22:00
--  

    :初始化lmc1控制卡。

    int lmc1_InitialTCHAR* strEzCadPath,BOOL bTestMode,HWND hOwenWnd);

                     strEzCadPathezcad2.exe所处的目录的全路径名称;

                     bTestMode  指是否是测试模式

                     hOwenWnd 指拥有用户输入焦点的窗口,用于检测用户暂停消息。


所有函的TCHAR对象都必须是UNICODE字符。





这个函数怎么用?

路径是string的,软件老是报错。

[此贴子已经被作者于2017/3/29 15:22:23编辑过]

--  作者:有点色
--  发布时间:2017/3/29 15:28:00
--  
Dim file As String = "测试"
Dim bytes() As Byte
Dim utf As Encoding = Encoding.unicode
Dim def As Encoding = Encoding.Default
Bytes = def.GetBytes(file)
Bytes = Encoding.Convert(def, utf, Bytes)  
file = def.GetString(Bytes)  
Output.Show(file)

--  作者:有点色
--  发布时间:2017/3/29 15:30:00
--  
回复5楼,直接用字符就可以啊。
--  作者:54292550
--  发布时间:2017/3/29 22:49:00
--  回复:(有点色)回复5楼,直接用字符就可以啊。
直接用字符就报这个错误。

图片点击可在新窗口打开查看此主题相关图片如下:报错.jpg
图片点击可在新窗口打开查看

路径是:C:\\foxtable2017\\开发版\\

FT代码:

dim lujing as string = "C:\\foxtable2017\\开发版\\"

打开文件失败,但是这个路径下确实有这个文件。那就说明是路径错误。

我既然代码是“C:\\foxtable2017\\开发版\\”,报错给我报的路径是乱码,肯定是编码格式不对。
开发文档里面要求路径必须是UNICODE字符。



图片点击可在新窗口打开查看此主题相关图片如下:报错1.jpg
图片点击可在新窗口打开查看

这个是我用前面那个代码转换出“测试”这两个字,然后写进目录里面出现的报错。
dim lujing as string = "Km諎"               \'Km諎 = 测试
奇怪的是前面那个转换代码,转换不了我这个路径。不知道怎么回事。。。


[此贴子已经被作者于2017/3/29 23:17:44编辑过]

--  作者:54292550
--  发布时间:2017/3/30 9:32:00
--  
色老师。。。我想把C:\\foxtable2017\\开发版\\”,就转成那种乱码的格式,直接写到路径里面试试。。
可是您给的那个代码,不知道怎么搞得只有“发”“版”这两个字可以转换,别的要么转不出来,要么是空的。

--  作者:有点蓝
--  发布时间:2017/3/30 10:25:00
--  
试试

dim lujing as string = "C:\\foxtable2017\\开发版\\"
Dim bs() As Byte = System.Text.Encoding.Unicode.GetBytes(lujing)

调用

lmc1_Initialbs(0),其它参数......