programing

유니코드 문자를 표시/복호화하는 Javascript 대응

testmans 2023. 3. 31. 21:55
반응형

유니코드 문자를 표시/복호화하는 Javascript 대응

변환해야 할 유니코드 문자열이 있습니다.\u00f3의 문자열을 o로 렌더링해야 합니다.이것은 예시로, 다른 모든 유형의 문자 ,, í, ...와 함께 발생해야 합니다.

기본 코드는 https://jsfiddle.net/dddf7o70/ 입니다.

변환이 필요하다

<Hello name="Informaci\u00f3n" />

안으로

Información

JS 문자열로 전달합니다.

<Hello name={'Informaci\u00f3n'} />

수동 처리를 할 필요가 없습니다(오류가 발생하기 쉽습니다).

바이올린: https://jsfiddle.net/dddf7o70/5/

만약 당신이 어떤 이유로든 글자 그대로의 글자를 가진 끈으로 작업해야 한다면\u실제 문자가 아닌 16진수를 사용하여 숫자로 변환한 다음 String.fromCharCode()를 사용하여 해당 숫자를 실제 문자로 변환합니다.여기에는 regexp replace with handler 함수를 사용할 수 있습니다.

// put this in whatever utility library file you have:
export function convertUnicode(input) {
  return input.replace(/\\+u([0-9a-fA-F]{4})/g, (a,b) =>
    String.fromCharCode(parseInt(b, 16)));
}

다음으로 컴포넌트:

import { convertUnicode } from "...your util lib...";

function Hello(props) {
   const name = convertUnicode(props.name);
   return <div>Hello {name}</div>;
}

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<Hello name="Informaci\\u00f3n"/>);

바이올린: https://jsfiddle.net/shdye3pq/

유니코드 쓰기를 입력하려면render()jsx는 다음 작업을 수행할 수 있습니다.

<div>{'First \u00b7 Second'}</div>

, 또는

<div>{'First ' + String.fromCharCode(183) + ' Second'}</div>

라이브러리 및 기타 글꼴에서 이 작업을 수행할 경우 글꼴을 먼저 가져오고 사용 중인지 확인하십시오.font-family: myFont(즉,"Font Awesome 5 Free"사용하시는 Unicode 가 정확한 것을 확인해 주세요.

질문 제목은 유니코드 문제에 대한 이 질문으로 이어지며, 경우에 따라서는 간단히 다음과 같은 질문으로 이어집니다.meta태그가 필요합니다.

<html>
    <head>
        <meta charset="UTF-8">
    </head>
</html>

언급URL : https://stackoverflow.com/questions/35166758/react-javascript-displaying-decoding-unicode-characters

반응형