Différence entre et 0x0D 0x0A
J'étudiais à propos de bluetooth et j'étais en train d'écrire le code de continuer à écouter le flux d'entrée lors de la connexion et je suis tombé sur cet extrait de code suivant:
int data = mmInStream.read();
if(data == 0x0A) {
} else if(data == 0x0D) {
buffer = new byte[arr_byte.size()];
for(int i = 0 ; i < arr_byte.size() ; i++) {
buffer[i] = arr_byte.get(i).byteValue();
}
//Send the obtained bytes to the UI Activity
mHandler.obtainMessage(BluetoothState.MESSAGE_READ
, buffer.length, -1, buffer).sendToTarget();
arr_byte = new ArrayList<Integer>();
} else {
arr_byte.add(data);
}
Quelqu'un peut m'expliquer quelle est la différence entre et 0x0D 0x0A. Et également de donner une brève explication sur ce code.
Veuillez partager vos points de vue.
Ceux-ci sont codé en hexadécimal. Dans ce cas, probablement censé pour être la nouvelle ligne de séparateurs:
Merci @AlexanderO Mara pour le partage.
0x0D == '\r'
et 0x0A == '\n'
Merci @AlexanderO Mara pour le partage.
OriginalL'auteur Rasik Suhail | 2015-10-19
Vous devez vous connecter pour publier un commentaire.
Les valeurs de départ
0x
sont hexadécimaux.0x0A
est\n
caractère de saut de ligne et0x0D
est\r
caractère de retour. Vous pouvez en savoir plus sur la façon de convertir ici, ou utiliser le tableau de conversionLe code essentiellement exécute les différents blocs de la logique en fonction de ce que la valeur de
data
est lu à partir de lammInStream
Brièvement:
data
est0x0A
, le caractère de saut de ligne\n
, il est ignoré et n'est ajouté à laarr_byte
data
est0x0D
, le caractère de retour\r
, il construit un tampon dearr_byte
et envoyer le tampon à l'INTERFACE utilisateur de l'Activitédata
est tout autre caractère, il est ajouté àarr_byte
Espère que cette aide.
un plaisir de vous aider 🙂 C'est toujours bon pour la réponse et le marquer comme solution, si elle permet de résoudre les problèmes indiqué dans votre question.
OriginalL'auteur Ling Zhong