>  기사  >  백엔드 개발  >  PHP에서 문자열과 따옴표로 묶인 인쇄 가능한 문자 변환

PHP에서 문자열과 따옴표로 묶인 인쇄 가능한 문자 변환

醉折花枝作酒筹
醉折花枝作酒筹원래의
2021-08-04 11:49:102284검색

이전 글에서는 오른쪽 글자 지우는 방법에 대해 알아보았습니다. 필요하신 분들은 "php 문자열 챌린지 - 오른쪽 글자 지우기"를 읽어보세요. 이번에는 문자열과 따옴표로 묶인 인쇄 가능한 문자를 서로 변환하는 방법을 소개하겠습니다. 필요하시면 참고하시면 됩니다.

이 기사를 공부하기 전에 먼저 인용 가능한 내용이 무엇인지 살펴보겠습니다.

Quoted-printable은 "인쇄 가능한 문자 참조 인코딩" 및 "인쇄 가능한 문자를 사용한 인코딩"으로 번역될 수 있습니다. 이메일을 받고 편지의 원본 정보를 확인할 때 이러한 유형의 인코딩을 자주 볼 수 있습니다!

다목적 인터넷 메일 확장(Mime)을 구현한 것입니다. Mime은 이메일 표준을 확장하고 비ASCII 문자, 바이너리 형식 첨부 파일 등 다양한 형식의 이메일을 지원하기 위해 노력하는 인터넷 표준입니다. 현재 많은 HTTP 프로토콜이 MIME 프레임을 사용합니다! 인용된 인쇄 가능이란 일부 일반적인 인쇄 가능 문자를 사용하여 인쇄할 수 없는 모든 문자를 1바이트(8비트)로 표현하는 것을 의미합니다!

Quoted-printable에 대한 이해가 끝나면 주제를 시작하겠습니다.

먼저 문자열을 Quoted-printable로 변환해야 합니다. 그러면 Quoted-printable 문자열이 일반 문자로 변환될 수 있습니다.

작은 예를 살펴보겠습니다.

<?php 
$str = quoted_printable_encode("Hello
Aworld.");
echo($str); 
?>

이 결과는

PHP에서 문자열과 따옴표로 묶인 인쇄 가능한 문자 변환

이 결과가 좀 이상한지 살펴보겠습니다. "=0A"가 어떻게 나오는지 코드를 살펴보겠습니다. hello라는 단어 사용 나중에 키보드의 줄 바꿈 키를 사용했습니다. 이는 일반적인 HTML이나 PHP에서는 문제가 되지 않지만 줄 바꿈이 발생하지 않았습니다. 하지만 이 함수에서는 아니요, Enter 키를 구문 분석합니다. =0A”是怎么出来的,让我们看看代码,我们在hello这个单词后面使用了键盘上的换行键,虽然这在普通html或是php中是没有问题的,并没有发生折行。但是在这个函数中,不可以,它会将这个回车键解析出来。

了解这些之后,我们去具体介绍一下这个函数吧。

quoted_printable_encode() 函数把 8 位字符串转换为 quoted-printable 字符串。

其实它是语法很简单,就是

quoted_printable_encode(string)

但是我们使用这个函数的时候需要注意:

经过 quoted-printable编码后的数据与通过邮件传输进行修改的不一样。一个完全 US-ASCII 的文本可进行 quoted-printable 编码,用来确保通过文字翻译或线包网关进行消息传递时数据的完整性。

接下来我们就将quoted-printable编码的数据还原吧。

我们就将上面这个例子的数据还原吧。

<?php 
$str = quoted_printable_decode("Hello=0AAworld.");
echo($str); 
?>

当这个例子在浏览器输出时

PHP에서 문자열과 따옴표로 묶인 인쇄 가능한 문자 변환

当这个例子在html输出时

PHP에서 문자열과 따옴표로 묶인 인쇄 가능한 문자 변환

这样一对比,是不是就能看出区别啦,这个函数解码后的代码在浏览器上是不显示“=0A

이 점을 이해한 후 이 기능을 자세히 소개하겠습니다.

quoted_printable_encode() 함수는 8 비트 문자열을 quoted-printable 문자열로 변환합니다.

사실 구문은 매우 간단합니다. 그냥 🎜🎜rrreee🎜🎜하지만 이 기능을 사용할 때는 주의해야 합니다. 🎜🎜🎜🎜 quoted-printable로 인코딩된 데이터는 이메일 전송을 통해 수정된 데이터와 다릅니다. . 완전한 US-ASCII 텍스트는 텍스트 번역이나 wirepack 게이트웨이를 통해 메시지를 전달할 때 데이터 무결성을 보장하기 위해 인용 인쇄 가능하게 인코딩될 수 있습니다. 🎜🎜다음으로, 인용된 인쇄 가능한 인코딩된 데이터를 복원해 보겠습니다. 🎜🎜위 예시의 데이터를 복원해 보겠습니다. 🎜rrreee🎜이 예제가 브라우저에 출력될 때🎜🎜S3K$O7}$IV_J%[0(67$M$1F.png🎜🎜이 예제가 html로 출력될 때🎜🎜PHP에서 문자열과 따옴표로 묶인 인쇄 가능한 문자 변환🎜🎜이렇게 비교하면 차이점이 보이시나요? 이 함수로 디코딩된 코드는 브라우저에 "=0A" 디코딩 결과를 표시하지 않지만 HTML에서는 특정 효과를 갖습니다. 🎜🎜그게 전부입니다. 알고 싶은 경우도 있습니다. → →🎜php 비디오 튜토리얼🎜🎜을 클릭하세요.

위 내용은 PHP에서 문자열과 따옴표로 묶인 인쇄 가능한 문자 변환의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.