2017-04-04 415 views
0

我怎么能这样的VFP代码转换为C#VFP六角函数C#

Function PlainToHex(inputString) 
    Local myString 
    myString = "" 
    Do While Len(inputString) > 0 
    myString = myString + Right(Transform(Asc(inputString), "@0"), 2) 
    inputString = SubStr(inputString, 2) 
    EndDo 
Return myString 
EndFunc 

我试图查找MSDN但目前还没有对这些VFP功能足够的例子。

+1

的[字符串转换为十六进制字符串在C#]可能的复制(http://stackoverflow.com/questions/16999604/convert-string-to-hex-string-in-c-sharp) – Sinatr

+0

Asc:https://msdn.microsoft.com/en-us/library/aa977280(v=vs.71).aspx转换:https://msdn.microsoft.com/en-us/library/aa978614(v=vs.71).aspx右:https://msdn.microsoft.com/en-us/library/aa978263(v= vs.71).aspx SubStr:https://msdn.microsoft.com/e n-us/library/aa978501(v = vs.71).aspx Len:https://msdn.microsoft.com/en-us/library/aa977928(v=vs.71).aspx – PaulF

+0

is Asc()single字符或字符串? – mehwish

回答

1

你可以尝试这样的事:

void Main() 
{ 
    string test = "This is a string"; 
    string result = PlainToHex(test); 

    Console.WriteLine(result); 
} 

public string PlainToHex(string inputString) 
{ 
    return string.Join("", inputString.Select(c => ((int)c).ToString("X2")).ToArray()); 
} 
+0

这很好,你不需要ToArray()。即:return string.Join(“”,inputString.Select(b =>((byte)b).ToString(“X2”))); –

1

这也应该工作:

public string PlainToHex(string input) 
{ 
    return BitConverter.ToString(Encoding.Default.GetBytes(input)).Replace("-", ""); 
}