c语言中百分号md是什么意思,百分号编码字符串.md

#

百分号编码字符串
#

# 百分号编码字符串

urlencode() {

# 用法: urlencode "string"

local LC_ALL=C

for (( i = 0; i < ${#1}; i++ )); do

: "${1:i:1}"

case "$_" in

[a-zA-Z0-9.~_-])

printf '%s' "$_"

;;

*)

printf '%%%02X' "'$_"

;;

esac

done

printf '\n'

}

----------

**语法说明:**

> local LC_ALL=C

- 去除所有本地化的设置,设置语言环境为POSIX【C】,让命令能正确执行;

- 使用local,就相当于在函数开始的时候定义变量,在函数返回之前做unset,只不过local用起来更简单明了。

> ${#1}  "${1:i:1}"

- `${#1}`返回第一个参数的长度,即有多少个字符;

- `"${1:i:1}"` 每次提取一个字符

> %%%02x

- %%%02x 可以分开为两部分"%%"和"%02X";

- 两个%%是输出一个'%',这里第一个%是转义符;

- %02x中的%x是把数字输出为16进制的格式,%02x是保证输出至少占两个字符的位置,如果不够两位的话前面补0

----------

**bash中的case语句**

case ${VAR} in

pattern1)

commands1

;;

pattern2)

commands2

;;

esac

pattern表示通配符表达式,注意,与正则表达式有区别

比如:通配符如果加上双引号后就不是按通配符处理,而是按文本处理。

一键复制

编辑

Web IDE

原始数据

按行查看

历史

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值