Foxtable(狐表)用户栏目专家坐堂 → [求助]怎样把一个字符串转换为unicode的编码方式?


  共有2350人关注过本帖树形打印复制链接

主题:[求助]怎样把一个字符串转换为unicode的编码方式?

帅哥哟,离线,有人找我吗?
54292550
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:278 积分:4081 威望:0 精华:0 注册:2011/8/19 10:07:00
[求助]怎样把一个字符串转换为unicode的编码方式?  发帖心情 Post By:2017/3/29 12:55:00 [只看该作者]

在狐表里面用哪个函数把一个路径变成unicode的编码方式?
[此贴子已经被作者于2017/3/29 13:24:40编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106028 积分:539233 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/3/29 14:22:00 [只看该作者]

在什么地方用的,要做什么

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/29 14:48:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
54292550
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:278 积分:4081 威望:0 精华:0 注册:2011/8/19 10:07:00
回复:(有点色)?这个??http://www.f...  发帖心情 Post By:2017/3/29 14:51:00 [只看该作者]

'辅助函数: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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:278 积分:4081 威望:0 精华:0 注册:2011/8/19 10:07:00
  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By: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)

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/29 15:30:00 [只看该作者]

回复5楼,直接用字符就可以啊。

 回到顶部
帅哥哟,离线,有人找我吗?
54292550
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:278 积分:4081 威望:0 精华:0 注册:2011/8/19 10:07:00
回复:(有点色)回复5楼,直接用字符就可以啊。  发帖心情 Post By:2017/3/29 22:49:00 [只看该作者]

直接用字符就报这个错误。

图片点击可在新窗口打开查看此主题相关图片如下:报错.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
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:278 积分:4081 威望:0 精华:0 注册:2011/8/19 10:07:00
  发帖心情 Post By:2017/3/30 9:32:00 [只看该作者]

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

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106028 积分:539233 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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),其它参数......

 回到顶部
总数 20 1 2 下一页