HTML 이스케이프 문자를 효율적으로 변환
Golang에서는 다양한 작업을 위해 이스케이프된 HTML 문자를 직접 변환하는 것이 필요합니다. 일반적인 문제 중 하나는 "u003chtmlu003e"를 ""로 변환하는 것입니다. json.Marshal()은 역변환을 쉽게 처리할 수 있지만 json.Unmarshal()은 번거롭고 시간이 많이 걸릴 수 있습니다.
strconv.Unquote() 활용
다행히도 strconv.Unquote() 함수는 이 난제에 대한 해결책을 제공합니다. 이 함수를 사용하면 이스케이프된 문자열을 효율적으로 인용 해제할 수 있습니다. 그러나 문자열을 따옴표로 묶어야 합니다.
실제 구현
// Important to use backtick ` (raw string literal) // else the compiler will unquote it (interpreted string literal)! s := `\u003chtml\u003e` fmt.Println(s) s2, err := strconv.Unquote(`"` + s + `"`) if err != nil { panic(err) } fmt.Println(s2)
Go Playground에서 이 코드를 실행하면 원하는 결과가 생성됩니다.
\u003chtml\u003e <html>
대안 옵션
Golang의 html 패키지는 HTML 텍스트 이스케이프 및 이스케이프 해제 기능도 제공합니다. ASCII 문자를 효과적으로 처리하는 반면 uxxxx 형식의 유니코드 시퀀스는 지원하지 않고 decimal; 또는 HH;.
그러나 백슬래시로 이스케이프된 문자열(예: "u003chtmlu003e")은 해석된 문자열 리터럴로서 컴파일러에 의해 자동으로 인용 해제된다는 점에 유의하는 것이 중요합니다. 인용 해제를 방지하려면 역따옴표(`)로 지정된 원시 문자열 리터럴이나 큰따옴표로 묶인 해석된 문자열 리터럴을 사용하세요.
위 내용은 Go에서 HTML 이스케이프 문자를 효율적으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!