Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tyto příklady ukazují, jak provádět následující úlohy:
Získá šestnáctkovou hodnotu každého znaku v řetězci.
Získejte znak , který odpovídá každé hodnotě v šestnáctkovém řetězci.
Převeďte šestnáctkový
stringna int.Převede šestnáctkový
stringna plovoucí.Převede bajtové pole na šestnáctkový formát
string.
Příklady
Tento příklad vypíše šestnáctkovou hodnotu každého znaku v znaku string. Nejprve parsuje string na pole znaků. Potom volá ToInt32(Char) na každý znak, aby získal jeho číselnou hodnotu. Nakonec formátuje číslo jako šestnáctkové vyjádření v objektu 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
*/
Tento příklad analyzuje string šestnáctkové hodnoty a vypíše znak odpovídající každé šestnáctkové hodnotě. Nejprve volá Metodu Split(Char[]), která získá každou šestnáctkovou hodnotu jako jednotlivec string v poli. Potom volá ToInt32(String, Int32) převod šestnáctkové hodnoty na desetinnou hodnotu reprezentovanou jako int. Ukazuje dva různé způsoby získání znaku odpovídajícího kódu daného znaku. První technika používá ConvertFromUtf32(Int32), který vrátí znak odpovídající celočíselnému argumentu stringjako . Druhá technika explicitně přetypuje int na znak.
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 !
*/
Tento příklad ukazuje další způsob, jak převést šestnáctkový string na celé číslo voláním Parse(String, NumberStyles) metody.
string hexString = "8E2";
int num = int.Parse(hexString, System.Globalization.NumberStyles.HexNumber);
Console.WriteLine(num);
//Output: 2274
Následující příklad ukazuje, jak převést šestnáctkový string na float pomocí System.BitConverter třídy a UInt32.Parse metody.
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
Následující příklad ukazuje, jak pomocí třídy převést bajtové pole na šestnáctkový řetězec 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
*/
Následující příklad ukazuje, jak převést bajtové pole na šestnáctkový řetězec voláním Convert.ToHexString metody zavedené v .NET 5.0.
byte[] array = [0x64, 0x6f, 0x74, 0x63, 0x65, 0x74];
string hexValue = Convert.ToHexString(array);
Console.WriteLine(hexValue);
/*Output:
646F74636574
*/