GNU/Linux >> Belajar Linux >  >> Linux

Bash Konversi \xc3\x89 Ke ?

Saya menjalankan iwlist wlo1 scan | grep ESSID di dalam skrip.

Ini menampilkan karakter Prancis dalam format berikut

\xC3\x89 untuk dan \xC3\xA9 untuk é.

Saya tidak yakin apa nama format ini. Saya mencoba menggunakan jawaban untuk mengonversi unicode echo -ne '\xC3\xA9' | iconv -f utf-16be tapi diubah menjadi .

Apa nama resmi untuk format ini dan bagaimana cara mengonversinya dalam bash?

Jawaban yang Diterima:

Konstanta numerik heksadesimal biasanya direpresentasikan dengan 0x awalan.
Konstanta karakter dan string dapat menyatakan kode karakter dalam heksadesimal dengan awalan \x diikuti oleh dua digit heksa.

echo -ne '\xC3\x89' harus memberi Anda É .

  • -e – aktifkan interpretasi pelarian garis miring terbalik (termasuk \xHH – byte dengan nilai heksadesimal HH (1 hingga 2 digit))

Untuk menangani portabilitas yang lebih baik gunakan printf fungsi:

printf "%b" '\xC3\x89'
É

Linux
  1. Ubah Output Perintah Pohon Ke Format Json?

  2. Bash + Menggunakan Printf Untuk Mencetak Dalam Format Khusus?

  3. Bagaimana cara membandingkan dua string dalam format versi yang dipisahkan titik di Bash?

  1. Konversi format tanggal dalam bash

  2. Konversikan string teks dalam bash ke array

  3. Jalankan perintah bash pada pipa jenkins

  1. konversi keluaran bash `ls` ke array json

  2. Ubah tanggal ISO menjadi detik sejak zaman di linux bash

  3. Ubah yang dapat dibaca manusia menjadi byte di bash