Maison >développement back-end >C++ >Comment puis-je obtenir la représentation des octets bruts d'une chaîne C # sans spécifier le codage?

Comment puis-je obtenir la représentation des octets bruts d'une chaîne C # sans spécifier le codage?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-02-01 05:26:08571parcourir

How Can I Get the Raw Byte Representation of a C# String Without Specifying Encoding?

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

<code class="language-csharp">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;
}</code>
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:

<code class="language-csharp">// 请勿对任意字节使用此函数;仅对相同系统上的 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);
}</code>
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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn