Go 语言

Go 语言教程 Go 语言环境安装 Go 语言结构 Go 语言基础语法 Go 语言数据类型 Go 语言变量 Go 语言常量 Go 语言运算符 Go 语言条件语句 Go 语言 if 语句 Go 语言 if...else 语句 Go 语言 if 语句嵌套 Go 语言 switch 语句 Go 语言 select 语句 Go 语言循环语句 Go 语言 for 循环 Go 语言循环嵌套 Go 语言 break 语句 Go 语言 continue 语句 Go 语言 goto 语句 Go 语言函数 Go 语言函数值传递值 Go 语言函数引用传递值 Go 语言函数作为值 Go 语言函数闭包 Go 语言函数方法 Go 语言变量作用域 Go 语言数组 Go 语言多维数组 Go 语言向函数传递数组 Go 语言指针 Go 语言指针数组 Go 语言指向指针的指针 Go 语言指针作为函数参数 Go 语言结构体 Go 语言切片(Slice) Go 语言范围(Range) Go 语言Map(集合) Go 语言递归函数 Go 语言类型转换 Go 语言接口 Go 错误处理 Go 语言开发工具Go 语言标准库

Go 语言标准库


package pem

import "encoding/pem"

pem包实现了PEM数据编码(源自保密增强邮件协议)。目前PEM编码主要用于TLS密钥和证书。参见RFC 1421

Go语言标准库 >>


  • type Block
  • func Encode(out io.Writer, b *Block) error
  • func EncodeToMemory(b *Block) []byte
  • type Block

    type Block struct {
        Type    string            // 得自前言的类型(如"RSA PRIVATE KEY")
        Headers map[string]string // 可选的头项
        Bytes   []byte            // 内容解码后的数据,一般是DER编码的ASN.1结构
    }

    Block代表PEM编码的结构。编码格式如下:

    -----BEGIN Type-----
    Headers
    base64-encoded Bytes
    -----END Type-----
    

    其中Headers是可为空的多行键值对。

    func Decode

    func Decode(data []byte) (p *Block, rest []byte)

    Decode函数会从输入里查找到下一个PEM格式的块(证书、私钥等)。它返回解码得到的Block和剩余未解码的数据。如果未发现PEM数据,返回(nil, data)。

    func Encode

    func Encode(out io.Writer, b *Block) error

    func EncodeToMemory

    func EncodeToMemory(b *Block) []byte