SSID 인터넷에서 정보를 가져 오는 스크립트를 통해 OpenWRT에 동적으로 wifi 네트워크 이름을 변경하고 싶습니다.Busybox awk : 비트 단위 연산을 수행하기 위해 String의 각 문자를 정수로 처리하는 방법은 무엇입니까?
인터넷에서 가져온 정보에 여러 바이트 문자가 포함될 수 있으므로 유효하지 않은 UTF-8 바이트 시퀀스로 쉽게자를 수 있으므로 awk (busybox)를 사용하여 문제를 해결하고 싶습니다. 그러나 문자열과 정수에 비트 단위 함수 and
을 사용하려고하면 결과는 항상 0
을 반환합니다.
awk 'BEGIN{v="a"; print and(v,0xC0)}'
C/C++에서와 같이 awk에서 문자열의 문자를 정수로 처리하는 방법은 무엇입니까? char p[]="abc"; printf ("%d",*(p+1) & 0xC0);
@EdMorton 혼란 스럽습니다. 이 awk BEGIN {c = 7; print 및 (c, 3)} ''을 실행하여 '3'을 얻고이 awk를 BEGIN {c = 7; print 및 (c, 15)} '' '7'을 얻으십시오. 그리고'와'는 여기에 나열되어 있습니다 ... https://www.gnu.org/software/gawk/manual/html_node/Bitwise-Functions.html –
@MarkSetchell 예, 맞습니다. 확인하기 위해 귀찮게하지 않았다. 링크를 가져 주셔서 감사합니다. –
@MarkSetchell, c가 정수인 경우 잘 작동합니다. 그러나 c가 문자/문자열 인 경우, 항상 0을 반환합니다. –