정수를 구문 분석하고 문자 코드로 변환하는 스크립트

정수를 구문 분석하고 문자 코드로 변환하는 스크립트

해시 코드 값이 포함된 문자열을 구문 분석하고 해시 코드를 동등한 문자 표현으로 변환해야 합니다. 여기에 대한 샘플 코드가 있습니다.

I see that you#39;re eligible to get ticket for show on your device#44;

이제 스크립트는 다음으로 출력되어야 합니다.

I see that you're eligible to get ticket for show on your device,

답변1

Perl은 다음과 같은 경우에 유용합니다.

$ str='I see that you#146;re eligible to get ticket for show on your device#44;'
$ perl -pe 's/#(\d+);/chr($1)/ge' <<<"$str"
I see that you’re eligible to get ticket for show on your device,

이 출력을 얻으려면 터미널의 인코딩을 WINDOWS-1252로 설정해야 했습니다. 10진수 146은 유효하지 않습니다.ISO-8859-1 특징.


이러한 코드를 HTML 엔터티로 처리하기 위해 누락된 & 기호를 추가한 다음 디코딩합니다.

perl -MHTML::Entities -lne 's/(#\d+;)/&$1/g; print decode_entities($_)' <<<"$str"

답변2

Bash에서는 다음과 같이 할 수 있습니다:

$ str='I see that you#39;re eligible to get ticket for show on your device#44;'
$ re='#([0-9]*);'; while [[ $str =~ $re ]]; do b="${BASH_REMATCH[1]}"; c=$(printf "$(printf '\\U%x' "$b")"); str=${str//#$b;/$c}; done; echo "$a"
I see that you're eligible to get ticket for show on your device,

관련 정보