Obtenez la représentation d'octet d'origine de la chaîne en C # (pas de codage spécifié)
Lors du traitement de la chaîne en C #, comprenant que le codage des caractères est très important pour son influence sur ses octets. Cependant, si l'objectif est uniquement d'obtenir l'octet d'origine sans aucune explication, il existe une autre méthode pour éviter les codes explicitement spécifiés.
Contrairement à la suggestion traditionnelle, si l'octet n'est pas requis, vous pouvez obtenir la représentation des octets de la chaîne en C # sans codes désignés. Cette méthode simplifie le processus et assure la cohérence de la représentation des octets.
Pour cette raison, vous pouvez utiliser
, comme indiqué ci-dessous: System.Buffer.BlockCopy
static byte[] GetBytes(string str)
{
byte[] bytes = new byte[str.Length * sizeof(char)];
System.Buffer.BlockCopy(str.ToCharArray(), 0, bytes, 0, bytes.Length);
return bytes;
}
Copier après la connexion
Cette fonction renvoie un tableau d'octets qui représente avec précision les octets utilisés pour stocker la chaîne sur le système. Pour récupérer la chaîne d'origine à partir de l'octet, vous pouvez utiliser les fonctions suivantes:
// 请勿对任意字节使用此函数;仅对相同系统上的 GetBytes 输出使用
static string GetString(byte[] bytes)
{
char[] chars = new char[bytes.Length / sizeof(char)];
System.Buffer.BlockCopy(bytes, 0, chars, 0, bytes.Length);
return new string(chars);
}
Copier après la connexion
Cette méthode est meilleure que l'utilisation de codes spécifiques, car:
Il assure des octets cohérents, sans se soucier des schémas de codage des caractères. -
Il permet de traiter des caractères non valides sans problèmes de codage / décodage. -
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!