모듈:디코딩Encode/doc

Module

모듈에서 Lua 함수 mw.text.decode, mw.text.encode를 구현합니다.

{{#invoke:decodeEncode decode s=Source text©}}Source text©

XMLHTML 문자 도면요소 참조 목록을 참조하십시오.

디코딩(© → ©)

명명엔티티를 엔티티 이름에서 정규(유니코드) 문자로 디코딩합니다.
©©
>>

잘 정의된 명명된 엔티티는 모두 디코딩됩니다(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'&lt;', '&gt;', '&amp;', '&amp;', '&quot;, '&quot;(즉, '<, ', ', ', ', ', ', '로)'의 다섯 개의 엔티티 이름만 디코딩됩니다.

참고: 관련 Lua 파라미터와 차이가 있습니다.(이것은 Lumamw.text.decode 함수로도 직접 작업하는 경우에만 작업과 관련이 있습니다.)Lua 설명서는 매개 변수를 정의합니다. decodeNamedEntities=이러한 효과가 있음: 생략되거나 거짓인 경우 축소된 엔티티 집합만 인식되고 디코딩됩니다.이러한 'false' 사용은 다음과 같은 경우에 역으로 사용됩니다. subset_only=: decodeNamedEntities=false= subset_only=true.
또한 이 모듈은 "누락된" 논리를 무시합니다. subset_only=활성화하려면 'true'로 명시적으로 설정해야 합니다.

인코딩(© → &copy;)

기능.encode일부 엔티티 이름 문자를 해당 이름으로 인코딩합니다(예:&&amp;).

정규 문장:

"화씨 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 &gt;100 &#176;F, &amp; with a &quot;burning&quot; sun above, we walked. &#169;
렌더링 형식:
"화씨 100도 이상에서, 그리고 "타는" 태양을 위에 두고, 우리는 걸었습니다. ©"

인코딩할 문자 집합

Lua 설명서에 따라 작은 문자 집합만 처리됩니다.문자 집합은 다음을 사용하여 설정(확장)할 수 있습니다. charset=.

예: charset=<>" \'&(기본값), charset=<>°"'&©{{!}}기본값이 아닌 문자는 소수점 문자로 대체됩니다.©&#169; (십진수 또는 명명된 &copy가 아닌 16진수;)

알려진 문제

  • 2021년 9월 13일: 참고:사용자 제공 문자 집합이 있는 인코딩 기능은 이제 {{R/superscript}} 및 {{R/ref}}에서 생산적으로 사용됩니다.여기서 변경 사항을 구현하기 전에 템플릿을 적절히 조정해야 합니다!
  • 2021년 9월 26일:U+2009 씬스페이스(&thinsp;, &thinSpace;)
참고: 가능한 버그:디코딩&ThinSpace;작동하지만,&thinsp;Doesn't.
코드로 해결되었습니다.
  • 2023년 2월 4일:U+03B5 ε 그리스 문자 EPSILON(&epsi;, &epsilon;)
모듈 대화 참조:Decode Encode § Bug 보고서: U+03B5 ε(엡실론)의 잘못된 디코딩입니다.
코드로 해결되었습니다.

참고 항목