Web/Front
[JavaScript]JSON 형식의 문자열과 Encode 함수
소젬
2021. 10. 25. 13:40
Object(객체)를 Json 문자열로 변환할 때 stringify()를 사용한다.
또한 데이터를 인코드하기 위해 btoa() 함수를 사용한다.
var val = btoa(encodeURIComponent(JSON.stringify(row)));
반대로 Json 문자열을 Object로 변환할 때는 parse()를 사용하며
디코드하기 위해 atob()를 사용한다.
var row = JSON.parse(decodeURIComponent(atob(val)));
encodeURIComponent 함수는 모든 문자를 인코딩한다.
URI로 데이터를 전달하기 위해서 문자열을 인코딩하는데 사용한다.
Encoding 할 때 한글을 포함한 경우에는 정상적으로 변환되지 않기 때문에 데이터를 감싸는 역할을 한다.
인자명 | 데이터형 | 필수/옵션 | 설명 |
string | string | 필수 | 인코딩할 문자열 |
개념이 와닿지 않아 이해를 도와준 생활코딩의 설명을 스크랩해왔다.
웹을 통해서 데이터를 전송할 때 특정 문자들은 특수한 기능으로 사용된다. 예를들어, http://a.com?name=egoing&job=programmer 에서 &job=programmer 중 '&'는 하나의 파라미터가 끝나고 다음 파라미터가 온다는 의미이다. 그런데 다음과 같이 job의 값에 &가 포함된다면 시스템은 job의 값을 제대로 인식할수 없게 된다. http://a.com?name=egoing&job=programmer&blogger 이런 문제를 회피하기 위해서 다음과 같이 치환해준다. http://a.com?name=egoing&job=programmer%26blogger 그럼 시스템에서는 %26을 &로 해석하고 의도대로 해석할 수 있게 된다. 이러한 처리를 이스케이핑(escaping)라고 부른다. |
참고
https://opentutorials.org/course/50/190
encodeURIComponent - 생활코딩
요약(Summary) URI로 데이터를 전달하기 위해서 문자열을 인코딩 문법(Syntax) encodeURIComponent(string) 인자(Parameters) 인자명 데이터형 필수/옵션 설명 string string 필수 인코딩할 문자열 반환값(Return) string,
opentutorials.org