跳转至

编码与协议

从ISO 639到BCP 47:语言码标准的发展与应用

随着全球化和信息化的快速发展,多语言环境成为不可或缺的一部分。在跨文化交流、软件国际化以及内容本地化的过程中,语言码作为语言标识的核心工具,扮演着至关重要的角色。本文将探讨语言码的主要标准,从早期的 ISO 639 到目前广泛应用的 BCP 47,了解其发展历程和应用场景。

什么是语言码?

语言码是一种用来标识自然语言的标准化代码,它提供了一种结构化的方式来表示语言、区域和书写系统。例如:

  • en 代表英语(English)。
  • zh-CN 代表简体中文(中国)。
  • fr-CA 代表加拿大法语。

通过语言码,系统可以识别用户的语言偏好,并相应地呈现内容。

音频编码知多少?

音频编码是指将声音信号(通常是模拟信号)转换为数字数据的一种技术和过程。音频编码通过一定的算法或格式,对声音信号进行数字化处理和压缩,生成适合存储、传输或播放的音频文件。编码的核心是减少音频文件的体积,同时尽可能保留原始声音的质量。

音频编码分为采样与量化以及数据压缩两大部分。采样与量化是将将连续的模拟声音信号转换为离散的数字信号(即数字化)。采样与量化具体过程包括:

  • 采样:按固定频率(采样率)对声音信号取样。
  • 量化:将采样值映射为有限范围的数字值,量化的精度由位深(Bit Depth)决定。

数据压缩是对数字化后的音频数据进行编码以减少文件大小。数据压缩分为:

  • 无损压缩:如 FLAC、ALAC,完全保留原始音频数据。
  • 有损压缩:如 MP3、AAC,牺牲部分音质以显著降低文件大小。

SSL和SSL证书初学者指南

原文: SSL and SSL Certificates Explained For Beginners

安全套接字层 (SSL,全称Secure Sockets Layer)传输层安全 (TLS,全称Transport Layer security) 是通过计算机网络或链接提供安全通信的协议。它们通常用于网页浏览和电子邮件。在本教程中,我们将了解学习到:

  • TLS 和 SSL
  • 公钥和私钥
  • 为什么我们需要证书以及它们的作用
  • 如何获取数字证书并了解不同的常见证书类型

什么是 TLS?

TLS 基于 SSL,并作为替代方案而开发以应对 SSLv3 中的已知漏洞。SSL 是常用术语,我们说的 SSL 通常指的就是 TLS。

SSL/TLS 提供安全保障

SSL/TLS 提供数据加密、数据完整性和身份验证功能。这意味着当使用 SSL/TLS 时,你可以确保:

  • 没有人读过你的消息
  • 没有人篡改过你的消息
  • 你正在与预期的人(服务器)通信

在两方之间发送消息时,你需要解决两个问题。

  • 你怎么知道没有人读过这条消息?
  • 你怎么知道没有人篡改过该消息?

这些问题的解决办法是:

  • 对其进行加密(Encrypt it) : 这会使内容无法读取,因此对于查看该消息的任何人来说,它只是乱码。
  • 签名(Sign it) : 这可以让收件人确信是你发送的邮件,并且邮件未被篡改。

这两个过程都需要使用密钥。这些密钥只是数字(常见的是 128 位),然后使用特定方法(通常称为算法)与消息组合,例如RSA,对消息进行加密或签名。

Protocol buffers语法

简介

Protocol Buffers简称Protobuf,是google公司推出的一种数据描述语言。Protocol buffers具有平台无关、语言无关、二进制格式编码、编码后体积小,序列化和反序列化快、类型安全、向后兼容等特点。

Protocol buffers有专门的语法结构来定义数据结构。消息和RPC服务接口是Protocol buffers中两大基本组成。消息类似一个Json object,RPC服务接口定义了服务所具有的接口和所依赖的消息类型。

Protocol buffers定义的数据结构应该保存在.proto后缀名的文件中。目前最新版本的语法协议是proto3。

什么是双因素身份认证(2FA)?

英文原文:two-factor authentication (2FA)

Two-factor authentication (2FA), often referred to as two-step verification, is a security process in which the user provides two authentication factors to verify they are who they say they are. 2FA can be contrasted with single-factor authentication (SFA), a security process in which the user provides only one factor -- typically a password.

双因素身份认证(2FA),经常被认为是两步骤认证(two-step verification)。它是一个安全处理措施,用户需要提供2个认证因素来证明他们的身份。2FA可以和单因素认证(single-factor authentication)进行一个对比,单因素认证只需要提供一个认证因素,典例的是密码认证

如何正确选择一个HTTP状态码

HTTP状态码(HTTP Status Code)是3位数字代码,用来表示服务器HTTP响应状态,它由RFC2616 规范定义的。所有状态码第一个数字代表其所属的状态分类。服务端返回响应数据时候,HTTP协议号和状态码作为Response line返回给客户端

在开发过程中,特别是基于RESTful架构,一个语义正确的HTTP状态码,显得十分有必要,它能够帮助客户端接受者能够从状态码快速甄别资源的状态。作为服务提供者,需要在客户端请求和服务的状态下选择一个正确的状态往往不是那么容易的事情。比如客户端访问一个受限的资源,返回401还是403就得细细考虑了。

HTTP断点续传

断点续传简介

断点续传是HTTP/1.1协议支持的特性。实现断点续传的功能,需要客户端记录下当前的下载进度,并在需要续传的时候通知服务端本次需要下载的内容片段。

计算机术语之开源许可协议与软件版本

开源许可协议

当你给软件附上许可证时,意味着你将保留对软件的所有权利。许可协议用来授权其他人具有某种使用你的作品的权利。

开源许可协议 使人们免去了研究那些专业的许可条款的麻烦,使人们更方便的对开源项目贡献出自己的代码。而且它还能保护你作为作品的原创作者,确保你至少拥有由于贡献参与而带来的署名荣誉。它还能用来阻止其他人企图声明对你的作品拥有所有权的行为。