티스토리 뷰

android

[android] encode decode

sulkun 2018. 2. 21. 15:44
반응형

안녕하세요 오늘의 포스팅 주제는 encode 과 decode인데요


저의 경우는 webview 를 사용하는데  javascript로 location.href 로 데이터를 넘겨 받아야 


하는 상황이 있었는데요. 한글의 경우 글씨가 깨지는 경우가 생기더라구요.


그래서 여러가지 방법을 찾아보다가 몇개 방법을 알아냈어요


일단 간단한 방법도 있고 조금 돌아가는 느낌의 방법도 2 가지가 있으니 한번봐주세요


첫번째 방법


 else if (url.contains("txt_")) {

    url = URLDecoder.decode(url.substring(APP_SCHEME.length()), "EUC-KR");
String[] a = null;

a = url.split("txt_");


코드를 보시면 알겠지만 Shouldoverride 에서 url을 넘겨 받을때 앞에txt_를 split해서 뒤에 값만 받구요 그리고 난 이후에 보시면 안깨지고 받을 수 있는 방법이 있고


하가지 방법이 더 있는건


// Sending side
byte[] data = text.getBytes("UTF-8");
String base64 = Base64.encodeToString(data, Base64.DEFAULT);

// Receiving side
byte[] data = Base64.decode(base64, Base64.DEFAULT);
String text = new String(data, "UTF-8");
Or with StandardCharsets:

// Sending side
byte[] data = text.getBytes(StandardCharsets.UTF_8);
String base64 = Base64.encodeToString(data, Base64.DEFAULT);

// Receiving side
byte[] data = Base64.decode(base64, Base64.DEFAULT);
String text = new String(data, StandardCharsets.UTF_8);
String Result = URLDecoder.decode(url.substring(APP_SCHEME.length()), "EUC-KR");

요렇게 다시 마지막 처리를 해줘서 받는 방법 이 있겠습니다


아참 그리고 


javascript 에서는 \n를 따로 해주세요~그럼 이만요~~~~

반응형
댓글