Ruby Language Comprendre les données dans une chaîne


Exemple

Dans Ruby, une chaîne n'est qu'une séquence d' octets avec le nom d'un codage (tel que UTF-8 , US-ASCII , ASCII-8BIT ) qui spécifie comment interpréter ces octets en tant que caractères.

Les chaînes Ruby peuvent être utilisées pour contenir du texte (essentiellement une séquence de caractères), auquel cas le codage UTF-8 est généralement utilisé.

"abc".bytes  # => [97, 98, 99]
"abc".encoding.name  # => "UTF-8"

Les chaînes Ruby peuvent également être utilisées pour contenir des données binaires (une séquence d'octets), auquel cas le codage ASCII-8BIT est généralement utilisé.

[42].pack("i").encoding  # => "ASCII-8BIT"

Il est possible que la séquence d'octets d'une chaîne ne corresponde pas à l'encodage, ce qui entraîne des erreurs si vous essayez d'utiliser la chaîne.

"\xFF \xFF".valid_encoding? # => false
"\xFF \xFF".split(' ')      # ArgumentError: invalid byte sequence in UTF-8