服务端(PHP)函数_编码操作

文档概述

轻语言网站**后端(PHP)**开发中的编码操作相关函数、用于处理各种编码转换和编码安全,包含ASCII与十六进制转换、URL编解码、HTML转义还原、UUENCODE编解码、反斜杠转义等功能,常用于数据编码、安全防护、编码转换等场景。

⚠️ 使用限制说明

  • 本文档内函数仅限在轻语言后端文件 .sph 代码中使用,用于编写服务端逻辑(编译后输出为 PHP 代码在服务器执行)。
  • 不得在编写前端页面 .spl 代码中使用,更禁止与 JS 代码混合使用
  • 编写前端请使用 前端(JavaScript)函数_* 类目下的中文函数;服务端只能使用 服务端(PHP)函数_* 类目下的中文函数。
  • 前后端虽存在同名函数(如 URL编码URL解码),但底层实现与运行环境完全不同,严禁混用。

💡 PHP 原生英文函数使用说明

  • 轻语言后端支持直接调用 PHP 原生英文函数(如 print_r()urlencode()base64_encode()mb_convert_encoding() 等)。
  • 当遇到轻语言未封装中文函数、但 PHP 原生函数可用时,可直接使用原生英文函数。
  • 仅支持使用原生英文函数名严禁使用 PHP 原生语法格式和英文关键字(如 if(){}for(){}functionclassecho 等控制结构与语法关键字)。
  • 控制结构必须使用轻语言中文关键字:如果...否则...结束 如果变量循环...结束循环函数 ... 结束 函数 等。
  • 注:->(对象方法调用)、=>(数组键值分隔)为轻语言本身支持的语法符号,可正常使用。

PHP 编码相关特性:

  • URL编码差异:后端 URL编码 基于 PHP urlencode,空格转 +;前端 JS encodeURIComponent 空格转 %20
  • HTML转义:基于 PHP htmlspecialchars,转义 < > & " ',用于防 XSS 攻击
  • 反斜杠转义:基于 PHP addslashes,转义 ' " \ NULL,用于防 SQL 注入
  • 编码函数对称ASCII到十六进制十六进制到ASCIIURL编码URL解码HTML转义HTML还原编码UUENCODE解码UUENCODE反斜杠转义反斜杠还原

函数:ASCII到十六进制(待转换文本)

把 ASCII 字符的字符串转换为十六进制值。

' 将ASCII文本转换为十六进制
变量 文本 = "Hello"
变量 十六进制 = ASCII到十六进制(文本)
输出 "原文本: " + 文本
输出 "十六进制: " + 十六进制	
' 再转换回来验证
变量 转回文本 = 十六进制到ASCII(十六进制)
输出 "转回文本: " + 转回文本

函数:十六进制到ASCII(待转换文本)

把十六进制字符串转换为 ASCII 字符。

' 将十六进制转换为ASCII文本
变量 十六进制值 = "48656c6c6f"  ' "Hello"的十六进制
变量 ASCII文本 = 十六进制到ASCII(十六进制值)
输出 "十六进制: " + 十六进制值
输出 "ASCII文本: " + ASCII文本

函数:代码转字符(待转换代码)

将指定的 ASCII 值转成字符。

' 将ASCII码转换为字符
变量 ASCII码 = 65
变量 字符 = 代码转字符(ASCII码)
输出 ASCII码 + "对应的字符是: " + 字符
' 转换多个ASCII码
变量 字符A = 代码转字符(65)
变量 字符B = 代码转字符(66)
变量 字符C = 代码转字符(67)
输出 "ABC: " + 字符A + 字符B + 字符C

函数:解码UUENCODE(待解码文本)

解码 uuencode 编码的字符串。

' 对UUENCODE编码的文本进行解码
变量 UU编码文本 = 编码UUENCODE("这是一个测试文本")
输出 "UU编码后: " + UU编码文本
变量 解码后文本 = 解码UUENCODE(UU编码文本)
输出 "解码后: " + 解码后文本

函数:编码UUENCODE(待编码文本)

使用 uuencode 算法对字符串进行编码。

' 对文本进行UUENCODE编码
变量 原文本 = "Hello World!"
变量 UU编码 = 编码UUENCODE(原文本)
输出 "原文本: " + 原文本
输出 "UU编码: " + UU编码
' 验证解码结果
变量 解码结果 = 解码UUENCODE(UU编码)
输出 "解码验证: " + 解码结果

函数:URL解码(待解码文本)

对URL已编码文本进行解码。

' 对URL编码的文本进行解码
变量 URL编码文本 = "Hello%20World%21"  ' "Hello World!"的URL编码
变量 URL解码文本 = URL解码(URL编码文本)
输出 "URL编码: " + URL编码文本
输出 "URL解码: " + URL解码文本
' 更复杂的URL编码解码(注:中文UTF-8编码格式)
变量 复杂编码 = "name%3D%E4%B8%AD%E6%96%87%26age%3D25"  ' "name=中文&age=25"的编码
变量 复杂解码 = URL解码(复杂编码)
输出 "复杂编码: " + 复杂编码
输出 "复杂解码: " + 复杂解码

函数:URL编码(待编码文本)

对文本进行URL编码。

' 对文本进行URL编码
变量 原文本 = "Hello World!"
变量 URL编码 = URL编码(原文本)
输出 "原文本: " + 原文本
输出 "URL编码: " + URL编码
' 对包含特殊字符的文本进行编码(注:空格会被编码为 + 号)
变量 特殊文本 = "name=张三&age=25&city=北京"
变量 特殊编码 = URL编码(特殊文本)
输出 "特殊文本: " + 特殊文本
输出 "特殊编码: " + 特殊编码
' 验证编码解码过程
变量 解码验证 = URL解码(特殊编码)
输出 "编码解码验证: " + 解码验证

函数:HTML转义(待转义文本,转义标志,编码格式)

将HTML特殊字符转义为实体形式,包括< > & " '等字符,防止XSS攻击。

' 转义HTML特殊字符防止XSS
变量 用户输入 = "<script>alert('XSS')</script>"
变量 转义后 = HTML转义(用户输入)
输出 "转义后: " + 转义后  ' 输出: &lt;script&gt;alert(&#039;XSS&#039;)&lt;&#47;script&gt;
' 在Web页面中显示用户输入的安全做法
变量 用户评论 = "用户说:<strong>这个产品很好</strong>"
变量 安全显示 = HTML转义(用户评论)
输出 "安全显示: " + 安全显示

函数:HTML还原(待还原文本)

将转义的HTML实体字符还原为原始字符,是转义HTML字符函数的反向操作。

' 将转义的HTML实体还原为原始字符
变量 转义文本 = "&lt;h1&gt;标题&lt;&#47;h1&gt;"
变量 还原后 = HTML还原(转义文本)
输出 "还原后: " + 还原后  ' 输出: <h1>标题</h1>
' 还原并显示安全内容
变量 安全内容 = "&lt;p&gt;这是一段安全的HTML内容&lt;&#47;p&gt;"
变量 原始内容 = HTML还原(安全内容)
输出 "原始内容: " + 原始内容

函数:反斜杠转义(待转义文本)

在特殊字符前添加反斜杠进行转义,包括单引号、双引号、反斜杠和NULL字符,用于防止SQL注入。

' 为SQL查询添加反斜杠转义
变量 用户名 = "O'Connor"
变量 转义用户名 = 反斜杠转义(用户名)
输出 "转义后: " + 转义用户名  ' 输出: O\'Connor
' 转义包含多种特殊字符的文本
变量 特殊文本 = "他说: \"我很喜欢这个产品\""
变量 转义特殊文本 = 反斜杠转义(特殊文本)
输出 "转义特殊文本: " + 转义特殊文本

函数:反斜杠还原(待还原文本)

去除由加反斜杠转义函数添加的反斜杠,还原原始字符串。

' 去除反斜杠还原原始字符串
变量 转义文本 = "O'Connor"
变量 还原文本 = 反斜杠还原(转义文本)
输出 "还原后: " + 还原文本  ' 输出: O'Connor
' 还原包含多种转义字符的文本
变量 转义句子 = "她说: \\\"这个很好\\\""
变量 原始句子 = 反斜杠还原(转义句子)
输出 "原始句子: " + 原始句子

学习要点

知识点代码示例说明
ASCII十六进制互转ASCII到十六进制(文本)十六进制到ASCII(文本)字符串与十六进制互转;常用于数据传输、编码存储
ASCII码转字符代码转字符(65)数字ASCII码转字符;65→A、66→B、97→a
URL编解码URL编码(文本)URL解码(文本)基于 PHP urlencode/urldecode;空格转 +
HTML转义防XSSHTML转义(文本)转义 < > & " ' 为实体;基于 htmlspecialchars 防XSS
HTML还原HTML还原(文本)HTML转义 的反向操作;实体还原为原始字符
反斜杠转义防注入反斜杠转义(文本)转义 ' " \ NULL;基于 addslashes 防SQL注入
反斜杠还原反斜杠还原(文本)反斜杠转义 的反向操作;去除多余反斜杠
UUENCODE编解码编码UUENCODE(文本)解码UUENCODE(文本)uuencode 算法编码解码;用于二进制数据传输
编码对称性编码/解码函数成对出现ASCII↔十六进制、URL、HTML、反斜杠、UUENCODE 均为对称设计
安全防护用途HTML转义 防XSS / 反斜杠转义 防注入后端常见安全编码实践;用户输入入库前转义

相关文档

  • 文档服务端(PHP)函数_字符串操作 —— 后端字符串处理函数
  • 文档服务端(PHP)函数_数组操作 —— 后端数组操作函数
  • 文档服务端(PHP)函数_MYSQL操作 —— 数据库操作(SQL注入防护场景)
  • 文档服务端(PHP)函数_文件操作 —— 文件读写操作
  • 文档轻语言网站:变量与数组与对象的定义 —— 变量、对象、数组的基本语法