2023-05-15 월요일

·2023년 5월 15일
0

Today I Learned

목록 보기
108/114
post-thumbnail

📅 오늘 한 일


1. Better UI 작업

✏️ 무엇을 배웠나


1. decodeURIComponent()

next.js에서 동적 라우팅을 사용해 url 파라미터를 앱 내부로 가져와야 했다. 공식 문서를 보고 구현해보니 이렇게 됐다.

URL : localhost:3000/workout/가슴

???

문제 : 한글이 이상한 문자로 변환되서 나온다

원인 : URL 인코딩이 일어났기 때문임. URL 인코딩 과정에서 한국어가 16진수로 변환되기 때문에 한국어 '가슴'이 위에 문자열로 변환된 것.

해결 : 다시 디코딩하면 된다. 자바스크립트에서 decodeURIComponent() 함수를 사용하면 된다.

const {bodyPart} = useParams(); //%EA%B0%80%EC%8A%B4
const bodyPartInKorean = decodeURIComponent(bodyPart) // 가슴

2. URL 인코딩

  • 목적 : 표준화된 URL을 사용
  • 작동 방식 : ASCII가 아닌 문자나 공백, 특수기호를 포함해 URL에 적합하지 않는 문자를 %16진수 형태로 변환함

3. ASCII

  • 1963년에 문자 인코딩을 위해 고안됨
  • 알파벳을 사용하는 대표적인 문자 인코딩 방식
  • ASCII로 인코딩된 자연어는 미리 매핑된 2진수로 메모리에 저장됨
profile
⛰ 프론트엔드 개발 공부 블로그

0개의 댓글