Ouvrir un fichier binaire à l'aide de vi et hexedit, pourquoi les contens différents?
Je suis en train de modifier un fichier binaire directement et je sais que les deux éditeurs, vi et hexedit. Mais quand j'ouvre un fichier binaire séparément à l'aide d'entre eux, le cotens sont différents. Ci-dessous est ce que j'ai fait.
J'ai d'abord utiliser "dd if=/dev/sda of=mbr bs=512 count=1" pour générer le fichier binaire qui contient le mbr de données. Puis je l'ouvrir à l'aide de "hexedit mbr", et il affiche ceci:
début:
00000000 EB 63 90 D0 BC 00 7C 8E C0 8E D8 BE 00 7C BF 00
00000010 06 B9 00 02 FC F3 A4 50 68 1C 06 CB FB B9 04 00
00000020 BD BE 07 80 7E 00 00 7C 0B 0F 85 0E 01 83 C5 10
se terminant le:
000001E0 FF FF 83 FE FF FF 00 40 D6 02 00 38 2B 01 00 00
000001F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA
Je l'aide "vi mbr" l'ouvrir et le type":%!xxd", il affiche ceci:
début:
0000000: c3ab 63c2 90c3 90c2 bc00 7cc2 8ec3 80c2
0000010: 8ec3 98c2 be00 7cc2 bf00 06c2 b900 02c3
0000020: bcc3 b3c2 a450 681c 06c3 8bc3 bbc2 b904
se terminant le:
00002b0: bfc3 bf00 40c3 9602 0038 2b01 0000 0000
00002c0: 0000 0000 0000 0000 0000 0000 55c2 aa0a
La hexedit l'affichage est ce que j'attends dans le mbr. Mais que dire avec le vi de l'affichage? Aussi le vi de l'affichage semble erroné car il y a plus de 512 octets.
Je vous remercie pour toutes les explications!
Vous devez vous connecter pour publier un commentaire.
La commande
:%!xxd
utilise le programme externexxd
, de sorte que vous devriez d'abord essayer de vérifier sa sortie en tapant:Si elle semble bonne, essayez d'ouvrir vi en mode binaire (pas de fin de ligne (EOL):
puis
:%!xxd
Les octets que vous voyez dans "vi" semblent être exactement l'UTF-8 est une représentation du code binaire.
Peut-être "vi" convertit les données de binaire en UTF-8 avant de passer à "xxd".