Certains langages de programmation prennent en charge les chaînes, qui sont stockées comme suit: Stocker des données binaires dans des chaînes - idéologiquement faux?
Par exemple, AnsiString type dans Delphi. Ces chaînes sont commodément gérées et on peut penser que c'est une bonne idée de les utiliser comme un conteneur pour les données binaires car il y a des opérations efficaces sur la concaténation, l'extraction de sous-chaîne, etc
D'une certaine manière, j'ai un fort sentiment, que l'utilisation du type de chaîne, même si elle est binaire sûre, pour stocker des données binaires est idéologiquement fausse, mais je ne trouve pas d'arguments solides pour défendre cette position. Bien sûr, dans des langages tels que PHP où l'utilisation de tableaux ajoute trop de surcharge (chaque membre du tableau en PHP occupe environ 50 octets de mémoire en raison de la nature hachée des tableaux), vous n'avez pas d'autre choix que d'utiliser des chaînes binaires conteneurs de données. Mais comme pour Delphi ou C++ (avec std :: string) je pense que stocker des données binaires dans des chaînes (par exemple, des clés de chiffrement de chiffrement ou n'importe quel tampon de protocole binaire) est faux si même vous avez la possibilité technique de le faire.
Qu'en pensez-vous? Y at-il des arguments contre le stockage des données binaires dans les chaînes?
On pourrait argumenter qu'en C, toutes les chaînes ne sont que des données binaires, et les "chaînes" de données binaires sont assez courantes. Mais encore une fois, les chaînes C sont juste un cas particulier de tableaux d'octets. –
Oui, vous avez raison. Mais je ne parle pas de C ici. Ah ... En pratique, tout n'est que mémoire, vous savez;)) Aucun type là-bas;) :) –
Désolé pour écrire sur une vieille question, mais, si j'ai une chaîne "001" et je veux l'enregistrer dans un fichier binaire ou un fichier .dat, comment puis-je simplement sortir la chaîne en 3 bits au lieu de la représentation binaire de la chaîne? –