Jak przekonwertować znak ASCII na liczbę całkowitą w bash?


10

Analizuję dane wyjściowe NTTP, aby przekazać jego zawartość do naszej bazy danych za pomocą narzędzia konsoli. Pierwszy element to jedno znakowy podciąg zawierający status pilota. Może to być „*”, „+”, „o”, „#” itd. Lepiej umieszczę go w DB jako liczbę, aby można go było łatwo przechowywać w procedurach przechowywanych, ale nie mam pojęcia, jak to zrobić przekonwertować znak na jego reprezentację ASCII w bash.

Odpowiedzi:


17

Umieść swoją postać w zmiennej A.

printf '%d\n' "'$A"

Kilka przykładów:

$ A="*"; printf '%d\n' "'$A"
42
$ A="+"; printf '%d\n' "'$A"
43
$ A="#"; printf '%d\n' "'$A"
35
$ A="o"; printf '%d\n' "'$A"
111

Prawdopodobnie jest to oczywiste, ale sama zmienna nie jest wymagana: np printf '%d\n' "'*".
Sam Marinelli
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.