当前位置: 首页 > 知识库问答 >
问题:

使用base64时的Ruby字符编码

谢誉
2023-03-14

在查看Ruby的base64.encode的源代码时,我无法确定在base64中编码数据之前,将字符串编码转换为什么字符(如果有的话)。在Base64中编码的Utf-8字符串将与在Base64中编码的Utf-16字符串有很大不同。Ruby对这次行动有什么promise吗?

共有1个答案

公羊向荣
2023-03-14

在Base64中编码和解码utf-8字符串的示例:

text = "intérnalionálização"
 => "intérnalionálização"
text.encoding
 => #<Encoding:UTF-8>
encoded = Base64.encode64(text)
 => "aW50w6lybmFsaW9uw6FsaXphw6fDo28=\n"
encoded.encoding
 => #<Encoding:US-ASCII>
decoded = Base64.decode64(encode)
 => "int\xC3\xA9rnalion\xC3\xA1liza\xC3\xA7\xC3\xA3o"
decoded.encoding
 => #<Encoding:US-ASCII>
decoded = decoded.force_encoding('UTF-8')
 => "intérnalionálização"
decoded.encoding
 => #<Encoding:UTF-8>
 类似资料:
  • 它失败了并给出了像贝娄这样的例外。 xml格式与不兼容吗?

  • 问题内容: 我正在使用Base64编码来编码Java中的用户ID字段。 我想知道上面的字符串abc是否包含字符“,:”吗? 当以abc返回Base64编码的字符串时,它是否会包含以下字符? 问题答案: 您不会在Base64编码的字符串中看到任何逗号,冒号或双引号。由于等号用于填充结尾内容,因此您会看到等号。

  • 问题内容: 我运行以下代码: 游乐场: http : //play.golang.org/p/qbkEIZRTPQ 输出: 所需的输出: 为什么base64编码它就像普通的一样? 毕竟,RawMessage的MarshalJSON实现只是返回字节片 问题答案: 在螺母中找到答案 传递给的值必须是正常工作的指针:

  • 我在C#和TSQL中有base64字符串编码/解码函数,我的问题是C#的编码结果与TSQL的编码结果不同。 null 你知道如何匹配结果吗?

  • 我找不到答案。如果我用Base64编码一个字符串,那么基于该字符串的编码输出会是唯一的吗?我问这个问题是因为我想创建一个包含用户信息的令牌,所以我需要确保输出是唯一的,这取决于信息。 例如,如果我编码“UnqUserId:987654321 Timestamp:01/02/03”,这将是唯一的,所以无论我把它放在什么其他用户ID中,都不会发生冲突?

  • 本文向大家介绍在Python中使用base64模块处理字符编码的教程,包括了在Python中使用base64模块处理字符编码的教程的使用技巧和注意事项,需要的朋友参考一下 Base64是一种用64个字符来表示任意二进制数据的方法。 用记事本打开exe、jpg、pdf这些文件时,我们都会看到一大堆乱码,因为二进制文件包含很多无法显示和打印的字符,所以,如果要让记事本这样的文本处理软件能处理二进制数据