2017-10-19 7 views
3

Android에서 UTF-8에 대한 질문이 있습니다. 나는 UTF-8 형식으로 문자열을 Byte []에 저장해야합니다.Android의 UTF-8과 UTF-8의 정의

지금까지 그렇게 좋았습니다. 1

는해야 : I는, 예를 들어 번호를 입력하면 현재

idString = editId.getText().toString(); 
byte[] valueId = idString.getBytes(Charset.forName("UTF-8")); 

: 여기 EDITTEXT에 사용자 유형 및이 UTF-8 형식의 byte []에 저장한다 내 코드는 UTF-8 단위로 저장 : 31

하지만이 소수 값으로 저장됩니다 : 49

나는 나의 실패가 무엇인지 접착제를 얻을 해달라고, 그래서 누군가가 나를 도울 수 있습니까?

고맙습니다.

답변

2

문제는 16 진수 및 10 진수 값입니다. ASCII 표로 알려진 형식으로 저장됩니다. 숫자 1이 당신이 http://www.asciitable.com/

+0

네 약간의 도움을 당신을 감사합니다 도움이 될 진수 49 또는 16 진수 31

로 저장됩니다. 그렇다면 디버그가 내 배열에 0x31로 저장되어 있다는 것을 보여주는 것이 옳은가요? 비트 0011 0001에서? – Fab

+1

예, 0x 표기법은 16 진수 값이고 정수 값이 아님을 보여줍니다. 온라인 16 진수 - 정수 변환 도구 (http://www.binaryhexconverter.com/hex-to-decimal-converter)를 사용하거나 직접 여기에 게시 된 디버그 모드에서 값을 볼 수 있습니다. https://stackoverflow.com/questions/17447013/android-studio-debugging-display-variables-as-hexadecimal –

+0

정말 고마워요. 디버그 창 때문에 혼란스러워졌습니다. – Fab