我想在VB6上使用中文Unicode将参数(例如:900)从Double转换为Hex。但问题是,除了127之外,它将显示为“?”。因此,我想使用C#应用程序(带有.exe文件)设置代码页(德语和中文),然后使用VB6打开此.exe文件。
我该怎么做?
我使用VS 2012 for C#和Sax Basic Engine作为VB6的IDE。
第1步。
Public Function ConvDoubleToHexString(dVal As Double, ByVal nByteCount As Integer) As String
On Error GoTo ErrorHandle
Dim sHex As String
Dim sTmp As String
Dim n As Integer
Dim m As Long
Dim sRet As String
Dim nByteCountMerk As Integer
m = 1
sHex = Hex(dVal)
sHex = String(nByteCount * 2 - Len(sHex), "0") & sHex '
For n = 0 To nByteCount - 1
'0,1,2 ... 1,3,5, ...
sTmp = ChrW(Val("&H" & Mid(sHex, m, 2)))
m = m + 2
sRet = sRet & sTmp
Next n
Exit Function
ErrorHandle:
'Call ErrorEasy("Public Function", "ConvDoubleToHexString")
On Error GoTo 0
Resume Next
End Function
第2步。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Auf
{
static void Main(string[] args)
{
// Encoding by code page -> DE or CH
Encoding deu = Encoding.GetEncoding(1250);
Encoding chi = Encoding.GetEncoding(936);
}
}
}
第3步。
????
期待您的回复。
编辑:在第2步中编辑了几行。我已经设置了DE和CH语言的代码页。为了成功执行第1步(即不再使用该问号符号,我还应该在步骤2中插入以便在步骤3中打开exe文件(以及步骤3中的方法)?