Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze voorbeelden ziet u hoe u de volgende taken uitvoert:
Haal de hexadecimale waarde van elk teken op in een tekenreeks.
Verkrijg het karakter dat overeenkomt met elke waarde uit een hexadecimale tekenreeks.
Converteer een hexadecimale
string
naar een int.Converteer een byte- matrix naar een hexadecimale
string
.
Voorbeelden
In dit voorbeeld wordt de hexadecimale waarde van elk teken in een string
weergegeven. Eerst wordt de string
geparseerd naar een matrix met tekens. Vervolgens wordt ToInt32(Char) voor elk teken aangeroepen om de numerieke waarde ervan te verkrijgen. Ten slotte wordt het getal in hexadecimale notatie weergegeven in een string
.
string input = "Hello World!";
char[] values = input.ToCharArray();
foreach (char letter in values)
{
// Get the integral value of the character.
int value = Convert.ToInt32(letter);
// Convert the integer value to a hexadecimal value in string form.
Console.WriteLine($"Hexadecimal value of {letter} is {value:X}");
}
/* Output:
Hexadecimal value of H is 48
Hexadecimal value of e is 65
Hexadecimal value of l is 6C
Hexadecimal value of l is 6C
Hexadecimal value of o is 6F
Hexadecimal value of is 20
Hexadecimal value of W is 57
Hexadecimal value of o is 6F
Hexadecimal value of r is 72
Hexadecimal value of l is 6C
Hexadecimal value of d is 64
Hexadecimal value of ! is 21
*/
In dit voorbeeld wordt een string
met hexadecimale waarden geparseerd en wordt het teken uitgevoerd dat overeenkomt met elke hexadecimale waarde. Eerst wordt de Split(Char[]) methode aangeroepen om elke hexadecimale waarde te verkrijgen als een afzonderlijke string
in een matrix. Vervolgens wordt ToInt32(String, Int32) aanroepen om de hexadecimale waarde te converteren naar een decimale waarde die wordt weergegeven als een int. Er worden twee verschillende manieren weergegeven om het teken te verkrijgen dat overeenkomt met die tekencode. De eerste techniek maakt gebruik van ConvertFromUtf32(Int32), waarmee het teken dat overeenkomt met het geheel getal argument als een string
wordt geretourneerd. De tweede techniek caste de int
expliciet naar een teken.
string hexValues = "48 65 6C 6C 6F 20 57 6F 72 6C 64 21";
string[] hexValuesSplit = hexValues.Split(' ');
foreach (string hex in hexValuesSplit)
{
// Convert the number expressed in base-16 to an integer.
int value = Convert.ToInt32(hex, 16);
// Get the character corresponding to the integral value.
string stringValue = Char.ConvertFromUtf32(value);
char charValue = (char)value;
Console.WriteLine("hexadecimal value = {0}, int value = {1}, char value = {2} or {3}",
hex, value, stringValue, charValue);
}
/* Output:
hexadecimal value = 48, int value = 72, char value = H or H
hexadecimal value = 65, int value = 101, char value = e or e
hexadecimal value = 6C, int value = 108, char value = l or l
hexadecimal value = 6C, int value = 108, char value = l or l
hexadecimal value = 6F, int value = 111, char value = o or o
hexadecimal value = 20, int value = 32, char value = or
hexadecimal value = 57, int value = 87, char value = W or W
hexadecimal value = 6F, int value = 111, char value = o or o
hexadecimal value = 72, int value = 114, char value = r or r
hexadecimal value = 6C, int value = 108, char value = l or l
hexadecimal value = 64, int value = 100, char value = d or d
hexadecimal value = 21, int value = 33, char value = ! or !
*/
In dit voorbeeld ziet u een andere manier om een hexadecimale string
te converteren naar een geheel getal door de methode Parse(String, NumberStyles) aan te roepen.
string hexString = "8E2";
int num = Int32.Parse(hexString, System.Globalization.NumberStyles.HexNumber);
Console.WriteLine(num);
//Output: 2274
In het volgende voorbeeld ziet u hoe u een hexadecimale string
converteert naar een float- met behulp van de System.BitConverter-klasse en de methode UInt32.Parse.
string hexString = "43480170";
uint num = uint.Parse(hexString, System.Globalization.NumberStyles.AllowHexSpecifier);
byte[] floatVals = BitConverter.GetBytes(num);
float f = BitConverter.ToSingle(floatVals, 0);
Console.WriteLine($"float convert = {f}");
// Output: 200.0056
In het volgende voorbeeld ziet u hoe u een byte--matrix converteert naar een hexadecimale tekenreeks met behulp van de klasse System.BitConverter.
byte[] vals = [0x01, 0xAA, 0xB1, 0xDC, 0x10, 0xDD];
string str = BitConverter.ToString(vals);
Console.WriteLine(str);
str = BitConverter.ToString(vals).Replace("-", "");
Console.WriteLine(str);
/*Output:
01-AA-B1-DC-10-DD
01AAB1DC10DD
*/
In het volgende voorbeeld ziet u hoe u een byte--matrix converteert naar een hexadecimale tekenreeks door de Convert.ToHexString methode aan te roepen die is geïntroduceerd in .NET 5.0.
byte[] array = [0x64, 0x6f, 0x74, 0x63, 0x65, 0x74];
string hexValue = Convert.ToHexString(array);
Console.WriteLine(hexValue);
/*Output:
646F74636574
*/