pro*_*365 1 c# vb.net c#-to-vb.net
什么是这个C#代码的VB.NET等价物(将ASCII字符串转换为十六进制)?
public static string AsciiToHex(string asciiString)
{
string hex = "";
StringBuilder sBuffer = new StringBuilder();
for (int i = 0; i < asciiString.Length; i++)
{
sBuffer.Append(Convert.ToInt32(asciiString[i]).ToString("x"));
}
hex = sBuffer.ToString().ToUpper();
return hex;
}
Run Code Online (Sandbox Code Playgroud)
一些东西:
for循环foreach?(答案是:不是)ToUpper当我们选择正确的格式化标志(X)时,这是多余的.hex没用.Convert.ToInt32可以缩短为(int).ToString("x")结果具有可变长度:对于字符代码<16,它产生单个字符!这让我们:
public static string CharToHex(string str) {
StringBuilder buffer = new StringBuilder();
foreach (char c in str)
buffer.AppendFormat("{0:X2}", (int) c);
return buffer.ToString();
}
Run Code Online (Sandbox Code Playgroud)
...并翻译成VB:
Public Shared Function CharToHex(ByVal str As String) As String
Dim buffer As New StringBuilder()
For Each c As Char in str
buffer.AppendFormat("{0:X2}", Asc(c))
End For
Return buffer.ToString()
End Function
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1032 次 |
| 最近记录: |