Jacky's blog
首页
  • 学习笔记

    • web
    • android
    • iOS
    • vue
  • 分类
  • 标签
  • 归档
收藏
  • tool
  • algo
  • python
  • java
  • server
  • growth
  • frida
  • blog
  • SP
  • more
GitHub (opens new window)

Jack Yang

编程; 随笔
首页
  • 学习笔记

    • web
    • android
    • iOS
    • vue
  • 分类
  • 标签
  • 归档
收藏
  • tool
  • algo
  • python
  • java
  • server
  • growth
  • frida
  • blog
  • SP
  • more
GitHub (opens new window)
  • shell

  • tool

  • 网络

  • algo

  • compute_base

  • blog

  • growth

  • java

  • C&C++

  • ai

  • secure

  • cms

  • english

  • 生活

  • 金融学

  • more

    • backend base
    • toml/json/yaml/ini
    • 正则表达式(Regex)完整指南
    • media base
    • 工作效率
    • 设计模式和思想
    • AST语法抽象树介绍
    • compress/decompress
    • 灰度发布与ABTest
    • sublime
    • vercel
    • ruby
    • rss
    • animation
    • 加解密技术
    • encode
      • 编码
        • URL 编码
        • ASCII
        • base64
        • unicode
      • 字节码处理
        • big/little endian
      • link
    • 世界时间
    • 读kk大神聊房价
    • 效率秘籍
    • 沟通的艺术
  • other
  • more
Jacky
2024-05-14
目录

encode

# 编码

# URL 编码

URL编码对照表 (opens new window)


%2F 与 / 的编码关系是怎样的?

%2F 和 / 之间存在编码关系

URL 编码是一种将特殊字符转换为 URL 安全格式的过程。在 URL 中, 某些字符具有特殊含义, 如 / 是用于分隔路径的字符。如果一个字符在 URL 中具有特殊含义, 但需要表示该字符本身而不是其特殊含义, 就需要对其进行编码

在 URL 编码中, 每个字符都可以表示为 % 加上两个十六进制数字的形式。对于 / 字符, 其编码是 %2F

当在 URL 中包含 / 字符时, 为了避免与路径分隔符混淆, 需要对其进行编码, 即将 / 转换为 %2F。这样可以确保在 URL 中正确传递和解析这个字符

例如, 如果要将路径 /path/to/file 进行 URL 编码, 编码后的结果将是 %2Fpath%2Fto%2Ffile。在这个编码后的 URL 中, %2F 代表原始的 / 字符

总结起来, %2F 是 / 字符的 URL 编码表示形式, 用于在 URL 中表示路径分隔符而不引起歧义

# ASCII

常用对照表 (opens new window)

ASCII(American Standard Code for Information Interchange)字符集是一个最初为英语和其他西欧语言设计的字符编码标准。它使用 7 位(或 8 位, 包括一个奇偶校验位)来表示字符, 包括控制字符、数字、字母、标点符号和特殊字符。ASCII 字符集包括以下内容:

  • 控制字符: 这些字符通常没有可见的图形表示, 用于控制文本终端和通信设备的行为。例如, 换行符(\n)、回车符(\r)和制表符(\t)等
  • 可打印字符: 这些字符具有可见的图形表示, 包括大写字母(A-Z)、小写字母(a-z)、数字(0-9)和常见标点符号(例如逗号、句点、感叹号等)
  • 特殊字符: 这些字符包括空格(空格符)、制表符(\t)、换行符(\n)、回车符(\r)以及其他一些特殊用途的字符(例如退格符 \b)

ASCII 字符集总共包含 128 个字符, 编号从 0 到 127。这些字符在计算机和通信中被广泛使用, 尤其是在早期计算机系统和文本通信中。由于它是一个 7 位字符集, 因此只包含 128 个字符, 不包括一些非拉丁字符(例如希腊字母、俄罗斯字母等)

虽然 ASCII 字符集最初是为英语设计的, 但它仍然是计算机系统中最常见的字符编码之一, 并且在许多编程语言、操作系统和通信协议中被广泛使用。然而, 在处理多语言文本和国际化需求时, 通常需要使用更多容纳更多字符的字符编码, 例如 UTF-8、UTF-16 等

# base64

Base64(基底 64)是一种基于 64 个可打印字符来表示二进制数据的表示方法. wiki (opens new window)

Base64算法将3个字节编码为4个字符

# unicode

现代的操作系统、浏览器、文本编辑器和大多数现代应用程序都支持 Unicode,并且能够渲染 Unicode 字符。Unicode 是一个国际标准,用于一致地编码和表示文本。它包括了几乎所有的文字字符和许多符号,包括表情符号

当你在文本中插入一个 Unicode 表情字符时,支持 Unicode 的系统会识别并渲染它为相应的表情符号。下面是一些具体原因:

  • Unicode 支持: 操作系统和应用程序支持 Unicode,能够识别并显示 Unicode 字符
  • 字体支持: 系统字体包含了这些 Unicode 表情符号,并且知道如何渲染它们
  • 编码识别: 文本编辑器和浏览器会识别文本编码,并正确渲染 Unicode 字符

在代码中的使用你也可以在代码中直接使用这些 Unicode 表情符号。例如,在 JavaScript 中:

const message = 'Hello, world! 😊';
console.log(message);
1
2

这样做会在控制台中输出带有表情符号的消息

# 字节码处理

# big/little endian

大端(big endian)和小端(little endian). link (opens new window). hexdump 输出 16 进制 jump

字节存储顺序主要分为大端序(Big-endian)和小端序(Little-endian),区别如下

  • Big-endian: 高位字节存入低地址,低位字节存入高地址
  • Little-endian: 低位字节存入低地址,高位字节存入高地址。 (低字节在前,高字节在后)

一般来说,x86 系列 CPU 都是 Little-endian 字节序,PowerPC 通常是 Big-endian 字节序

因为网络协议也都是采用 Big-endian 方式传输数据的,所以有时也把 Big-endian 方式称为网络字节序.

# link

  • 编码在线编码转换 (opens new window)
  • 编码转换 (opens new window)
上次更新: 2025/03/27, 21:40:15
加解密技术
世界时间

← 加解密技术 世界时间→

最近更新
01
npx 使用指南
10-12
02
cursor
09-28
03
inspect
07-20
更多文章>
Theme by Vdoing | Copyright © 2019-2025 Jacky | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式