Pourquoi des caractères tronqués peuvent-ils apparaître lors de la lecture et de l'écriture du flux IO ? ? Quelle est la raison ?
1. Les règles d'encodage et de décodage sont incohérentes
2 Cet encodage de caractères ne prend pas en charge une certaine langue (ex : le chinois)
Alors. que devons-nous faire ? Comment éviter autant que possible les caractères tronqués ? ?
1. Encodage : String ---> byte[]
Il existe des méthodes correspondantes dans String :
① : byte[] getBytes() : Encodez cette chaîne dans une séquence d'octets en utilisant le jeu de caractères par défaut de la plateforme
② : byte[] getBytes(Charset charset) : utilisez le codage de caractères spécifié pour encoder la chaîne
③ : byte[] getBytes(String charsetName) : utilisez le codage de caractères spécifié pour encoder la chaîne
2 Décodage : byte[] ---> String
Il existe une méthode de construction correspondante dans String : <.>
① : String(byte[] bytes) : décode le tableau d'octets spécifié en utilisant le jeu de caractères par défaut de la plateforme ② : String(byte[] bytes, Charset charset) : utilise le caractère spécifié set Pour décoder le tableau d'octets spécifié ③ : String(byte[] bytes, String charsetName) : Utiliser le jeu de caractères spécifié pour décoder le tableau d'octets spécifié Apprentissage recommandé :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!