Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questi esempi illustrano come eseguire le attività seguenti:
Ottenere il valore esadecimale di ogni carattere in una stringa.
Ottenere il valore char corrispondente a ogni valore in una stringa esadecimale.
Convertire un valore esadecimale
string
in un valore int.Convertire un oggetto esadecimale
string
in un valore float.Convertire una matrice di byte in un oggetto esadecimale
string
.
Esempi
In questo esempio viene restituito il valore esadecimale di ogni carattere in un oggetto string
. Prima di tutto analizza l'oggetto string
in una matrice di caratteri. Chiama quindi ToInt32(Char) su ogni carattere per ottenere il relativo valore numerico. Infine, formatta il numero come rappresentazione esadecimale in un oggetto 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
*/
Questo esempio analizza un string
oggetto di valori esadecimali e restituisce il carattere corrispondente a ogni valore esadecimale. Prima di tutto chiama il metodo Split(Char[]) per ottenere ogni valore esadecimale come individuo string
in una matrice. Chiama quindi ToInt32(String, Int32) per convertire il valore esadecimale in un valore decimale rappresentato come int. Mostra due modi diversi per ottenere il carattere corrispondente a tale codice di carattere. La prima tecnica usa ConvertFromUtf32(Int32), che restituisce il carattere corrispondente all'argomento integer come string
. La seconda tecnica esegue in modo esplicito il cast dell'oggetto int
a un carattere.
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 questo esempio viene illustrato un altro modo per convertire un oggetto esadecimale string
in un numero intero chiamando il Parse(String, NumberStyles) metodo .
string hexString = "8E2";
int num = Int32.Parse(hexString, System.Globalization.NumberStyles.HexNumber);
Console.WriteLine(num);
//Output: 2274
Nell'esempio seguente viene illustrato come convertire un oggetto esadecimale string
in un oggetto float usando la System.BitConverter classe e il UInt32.Parse metodo .
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
Nell'esempio seguente viene illustrato come convertire una matrice di byte in una stringa esadecimale usando la System.BitConverter classe .
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
*/
Nell'esempio seguente viene illustrato come convertire una matrice di byte in una stringa esadecimale chiamando il Convert.ToHexString metodo introdotto in .NET 5.0.
byte[] array = [0x64, 0x6f, 0x74, 0x63, 0x65, 0x74];
string hexValue = Convert.ToHexString(array);
Console.WriteLine(hexValue);
/*Output:
646F74636574
*/