모듈:디코딩Encode/doc
Module| 이 Lua 모듈은 약 115,000 페이지에서 사용됩니다. 큰 중단과 서버 로드를 방지하려면 모듈의 /sandbox 또는 /testcase 하위 페이지 또는 자체 모듈 샌드박스에서 변경 사항을 테스트해야 합니다.테스트된 변경 사항은 한 번의 편집으로 이 페이지에 추가할 수 있습니다.변경사항을 구현하기 전에 대화 페이지에서 변경사항에 대해 논의하는 것을 고려합니다. |
모듈에서 Lua 함수 mw.text.decode, mw.text.encode를 구현합니다.
{{#invoke:decodeEncode decode s=Source text©}}→Source text©
XML 및 HTML 문자 도면요소 참조 목록을 참조하십시오.
디코딩(© → ©)
잘 정의된 명명된 엔티티는 모두 디코딩됩니다(HTML 명명된 문자 참조, 공식적으로는: PHP 테이블에 정의된 대로).
- 규칙적으로 렌더링된 문장:
- "화씨 100도에서, 그리고 태양이 "타는" 상공에서, 우리는 "걸었습니다".
- 코드:
- "
At 100 °F, & with a "burning" sun above, we ⁄walked⁄.-- 위키텍스트
- "
- 처리:
{{#invoke:decodeEncode decode s=At 100 °F, & with a "burning" sun above, we ⁄walked⁄.}}→At 100 °F, & with a "burning" sun above, we ⁄walked⁄.코드에서는 직선 문자, 명명된 엔티티가 없습니다.
- 렌더링, 다시:
- "화씨 100도에서, 그리고 태양이 "타는" 상공에서, 우리는 "걸었습니다".
축소된 세트만 디코딩합니다.
설정별 subset_only=true'<', '>', '&', '&', '", '"(즉, '<, ', ', ', ', ', ', '로)'의 다섯 개의 엔티티 이름만 디코딩됩니다.
- 참고: 관련 Lua 파라미터와 차이가 있습니다.(이것은 Lumamw.text.decode 함수로도 직접 작업하는 경우에만 작업과 관련이 있습니다.)Lua 설명서는 매개 변수를 정의합니다.
decodeNamedEntities=이러한 효과가 있음: 생략되거나 거짓인 경우 축소된 엔티티 집합만 인식되고 디코딩됩니다.이러한 'false' 사용은 다음과 같은 경우에 역으로 사용됩니다.subset_only=:decodeNamedEntities=false=subset_only=true.
- 또한 이 모듈은 "누락된" 논리를 무시합니다.
subset_only=활성화하려면 'true'로 명시적으로 설정해야 합니다.
인코딩(© → ©)
- 기능.
encode일부 엔티티 이름 문자를 해당 이름으로 인코딩합니다(예:&→&).
정규 문장:
- "화씨 100도 이상에서, 그리고 "타는" 태양을 위에 두고, 우리는 걸었습니다. ©"
코드:
- "
At >100 °F, & with a "burning" sun above, we walked. ©"
인코딩:
{{#invoke:decodeEncode encode s=At >100 °F, & with a "burning" sun above, we walked. © charset=&<>{{!}}°"'&©}}
- →
At >100 °F, & with a "burning" sun above, we walked. ©
- 렌더링 형식:
- "화씨 100도 이상에서, 그리고 "타는" 태양을 위에 두고, 우리는 걸었습니다. ©"
인코딩할 문자 집합
Lua 설명서에 따라 작은 문자 집합만 처리됩니다.문자 집합은 다음을 사용하여 설정(확장)할 수 있습니다. charset=.
- 예:
charset=<>" \'&(기본값),charset=<>°"'&©{{!}}기본값이 아닌 문자는 소수점 문자로 대체됩니다.©→©(십진수 또는 명명된 ©가 아닌 16진수;)
알려진 문제
- 2021년 9월 13일: 참고:사용자 제공 문자 집합이 있는 인코딩 기능은 이제 {{R/superscript}} 및 {{R/ref}}에서 생산적으로 사용됩니다.여기서 변경 사항을 구현하기 전에 템플릿을 적절히 조정해야 합니다!
- 2021년 9월 26일:U+2009 씬스페이스( , &thinSpace;)
- 참고: 가능한 버그:디코딩
 작동하지만, Doesn't. - 코드로 해결되었습니다.
- 2023년 2월 4일:U+03B5 ε 그리스 문자 EPSILON(ε, ε)
- 모듈 대화 참조:Decode Encode § Bug 보고서: U+03B5 ε(엡실론)의 잘못된 디코딩입니다.
- 코드로 해결되었습니다.
참고 항목