Microsoft
Software
Hardware
Network
Frage : 10 Linien C# zur VB.NET Übersetzungsüberwachung
Hallo,
I Notwendigkeit wurde einem Experten, die Übersetzung einiger Linien des Codes, von C# VB.NET
I zum Gebrauch VB.NET 2008 und ich zu überwachen einem StringToHex und ein HexToString, die Unicode Buchstaben stützen, in VB.NET benötigt. Ich fand die Probe jener zwei Funktionen in C#, und habe diesen Code für identischen VB.NET.
The angepassten VB.NET Codearbeiten fast, der einzige Unterschied bin der in der VB.NET Version erscheine ein weiterer Buchstabe, am Ende des Resultats angepasst. Dieser Buchstabe ist: Unicode Buchstabe „ERSETZUNGSZEICHEN“ (U+FFFD).
Although, habe ich Code diesen Buchstaben beseitigen gelassen, möchte ich saubere Funktionen von StringToHex und von HexToString in VB.NET.
So haben, bin ich interessiert, wo genau ich die ungenaue Anpassung vom C# Code zum VB.NET Code gebildet habe, und zu können den Code regeln, denn, saubere Funktionen zu haben, ohne verwechselt dem Unicode character.
The C# Code, den ich fand, ist an dieser Seite:
http://www.eggheadcafe.com
/sample-co
de/csharp.
NET/5c5e05
0f-
7509-4e
d5-aa58-6f
d01ff2b3c6
/c-net.asp
x
The VB.NET Anpassung des C# Codes ist dieses:
--------------------------
----------
----------
----------
----------
----------
----------
----------
----------
-
Öffentlichkeit geteilte Funktion ConvertStringToHex (ByVal eingegeben als Schnur-, ByValkodierung als System.Text.Encoding) als String
verdunkeln stringBytes () als Byte = encoding.GetBytes (Eingang)
schwache sbBytes als StringBuilder = neues StringBuilder (stringBytes.
Length * 2)
schwaches b als Byte
für jedes b im stringBytes
sbBytes.AppendFormat (“ {0: X
2} „, b)
Next
RückholsbBytes.ToString ()
Ende Function
Öffentlichkeit teilte Funktion ConvertHexToString (ByVal hexInput als Schnur-, ByValkodierung als System.Text.Encoding) als String
verdunkeln numberChars als ganze Zahl = hexInput.Length
schwache Bytes () als Byte = neues Byte (numberChars/2) {}
schwaches i als Integer
für i = 0 zu den numberChars - 1 Bytes des Schrittes 2
(i/2) = Convert.ToByte (hexInput.Su
bstring (i,
2), 16)
Next
ReturnValue = encoding.GetString (Bytes)
wenn (AscW (ReturnValue.Substrin
g (ReturnVa
lue. Length
- 1, 1)) = 65533) Then
ReturnValue = ReturnValue.Substring (0, ReturnValue.Length - 1)
Ende If
RückholReturnValue
Ende Function
--------------------------
----------
----------
----------
----------
----------
----------
----------
----------
-
The Unterlagen für diesen unerwünschten Unicode Buchstaben sind an dieser Seite:
http://www.fileformat.info
/info/unic
ode/char/f
ffd/index.
htm
Thank Sie sehr viel im Voraus.
Antwort : 10 Linien C# zur VB.NET Übersetzungsüberwachung
Es gibt nicht *really* ein Extrabuchstaben. In ConvertHexToString als Sie die Reihe „Bytes“ verursachten, sagten Sie, dass der oberste Index der Reihe „numberChars/2“ sein sollte, die in diesem Test bis 14 herauskommt. Merken, dass dieses, wie ich sagte, der oberste Index, NICHT die Zahl von den Schlitzen in der Reihe ist. Dies heißt, dass der Anruf zu encoding.GetString () versucht, einen uninitialized Schlitz der Reihe in einen Buchstaben umzuwandeln. Sie müssen die Zahl Schlitzen in der Reihe verringern, indem Sie Linie 31 Ihres letzten Pfostens durch ersetzen:
1:
Schwache Bytes () als Byte = neues Byte ((numberChars/2) - 1) {}
Weitere Lösungen
Wort-Presse, die Frage bewirtet
asp.net: Mein Problem ist, benutze ich einen ajax Ergänzung Kalender, um BeginDate u. EndDate Werte einzutragen
Silverlight 4 UI Ereignisse
wie kann ich irgendeine Bildentschließung online ändern und sie zum lokalen PC dann innen sparen??
ZFS Sicherungshilfe Ubuntu 10.0.4 LTS
Form-Frage für Kristallreports
Betreffend INOTES in Lotos 8.5
Mühen, die ZWISCHEN Logik erhalten zu arbeiten
Spannungs-Sensor ermittelte einen Ausfall auf Bediener DELL-PowerEdge 2650
broadcom NIC teaming