char를 uint8_t 형식에 저장된 16 진수로 변환하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/9396265

  •  29-10-2019
  •  | 
  •  

문제

이러한 변수가 있다고 가정합니다. 라코 디스

ndef_input ( "hello"와 같은 일반 텍스트)를 16 진수로 변환하고 ndef_msg로 저장하려면 어떻게해야하나요? 보시다시피 ndef_default_msg는 16 진수 형식입니다.ndef_msg 내부의 데이터도 이와 비슷해야합니다.

원래 프로그램 ( 소스 코드 )에서 약간의 배경 지식이 있으면 프로그램이 파일을 열고데이터를 생성하고 ndef_msg 안에 넣으면 카드에 기록됩니다.하지만 데이터를 가져 와서 16 진수로 변환하는 방법을 이해하지 못합니다.

파일을 요청하는 대신 사용자에게 직접 텍스트를 요청하도록 프로그램을 단순화하고 싶습니다.

도움이 되었습니까?

해결책

ndef_msg로 직접 읽어 보지 않겠습니까 (순수 배열이라고 가정하면 \ 0 빼기).16 진수는 표현 용이며 내용에 영향을주지 않고 10 진수 또는 8 진수를 선택할 수 있습니다. 라코 디스

공백을 허용하기 위해 문자열 읽기를 다르게 처리해야 할 수 있으며 아마 \0를 무시해야합니다. 이것은 제 요점을 설명하기위한 것입니다.

다른 팁

매우 우아하지는 않지만 단순 할 수 있습니다. 문자 코드 (0 ~ 255)를 원하는 값으로 매핑하는 조회 테이블을 정의합니다. 라코 디스

저는 이러한 우아하지 않은 솔루션을 몇 번 (예 : 색상 매핑 용) 사용했으며 다른 멋진 솔루션과 똑같이 잘 작동했습니다.

내가 올바르게 이해한다면 ndef_input에 저장된 16 진수 형식의 데이터를 읽고 파싱 한 다음 값을 ndef_msg에 저장합니다.

사용할 수 있음 라코 디스

<인용구> 라코 디스

도움이 되었기를 바랍니다. 라코 디스

ascii2hex는 다음과 같이 정의됩니다. 라코 디스

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top