Ruby 如何在Scala中解码/编码ASCII8bit?
我有一个用Ruby编写的外部系统,它通过ASCII8bit编码的线路发送数据。我应该如何在Scala中解码和编码它们 我在scala中找不到用于解码和编码ASCII8bit字符串的库 据我所知,正确地说,ASCII8bit与Base64类似。但是,Base64编码不止一种。我应该使用哪种类型的编码来确保覆盖所有角落的情况 什么是ASCII-8BIT? ASCII-8BIT是Ruby的二进制编码。在指定编码名称时,二进制名称被接受为ASCII-8BIT的别名。它既用于二进制数据,也用于不知道其真实编码的文本 在ASCII-8位编码中,任何字节序列都是有效字符串,但与其他8位编码不同,只有ASCII范围内的字节才被视为可打印字符,当然也只有那些可在ASCII中打印的字符。128-255范围内的字节被视为特殊字符,在其他编码中没有表示形式。因此,尝试将ASCII-8BIT字符串转换为任何其他编码都将失败,或者根据您提供的编码选项将非ASCII字符替换为问号,除非它仅包含ASCII字符 它在Scala/JVM世界中的等价物是什么? 没有严格的等价物。如果您处理的是二进制数据,那么应该使用没有编码且不被视为包含文本的二进制流 如果您处理的是文本,您需要知道或以某种方式找出它的编码,或者任意选择一个8位ASCII超集编码。这样,如果文本实际上是用不同的编码方式编码的,那么非ASCII字符可能会显示为错误字符,但不会出现任何错误,因为任何字节都是有效字符。如果需要,可以将非ASCII字符替换为问号 这与Base64有什么关系? 没什么。Base64是一种将二进制数据表示为ASCII文本的方法。它本身不是字符编码。知道字符串具有字符编码ASCII或ASCII-8BIT或任何其他编码,并不能告诉您它是否包含Base64数据 但请注意,Base64字符串将完全由ASCII字符组成,而不仅仅是任何ASCII字符,而是仅由字母、数字、+、/和=。因此,如果字符串包含任何非ASCII字符或除上述字符以外的任何字符,则它不是Base64 因此,任何Base64字符串都可以表示为ASCII。因此,如果您有一个包含Ruby中Base64数据的ASCII-8BIT字符串,那么您应该能够将其转换为ASCII而不会出现任何问题。如果不能,它不是Base64。什么是ASCII-8BIT? ASCII-8BIT是Ruby的二进制编码。在指定编码名称时,二进制名称被接受为ASCII-8BIT的别名。它既用于二进制数据,也用于不知道其真实编码的文本 在ASCII-8位编码中,任何字节序列都是有效字符串,但与其他8位编码不同,只有ASCII范围内的字节才被视为可打印字符,当然也只有那些可在ASCII中打印的字符。128-255范围内的字节被视为特殊字符,在其他编码中没有表示形式。因此,尝试将ASCII-8BIT字符串转换为任何其他编码都将失败,或者根据您提供的编码选项将非ASCII字符替换为问号,除非它仅包含ASCII字符 它在Scala/JVM世界中的等价物是什么? 没有严格的等价物。如果您处理的是二进制数据,那么应该使用没有编码且不被视为包含文本的二进制流 如果您处理的是文本,您需要知道或以某种方式找出它的编码,或者任意选择一个8位ASCII超集编码。这样,如果文本实际上是用不同的编码方式编码的,那么非ASCII字符可能会显示为错误字符,但不会出现任何错误,因为任何字节都是有效字符。如果需要,可以将非ASCII字符替换为问号 这与Base64有什么关系? 没什么。Base64是一种将二进制数据表示为ASCII文本的方法。它本身不是字符编码。知道字符串具有字符编码ASCII或ASCII-8BIT或任何其他编码,并不能告诉您它是否包含Base64数据 但请注意,Base64字符串将完全由ASCII字符组成,而不仅仅是任何ASCII字符,而是仅由字母、数字、+、/和=。因此,如果字符串包含任何非ASCII字符或除上述字符以外的任何字符,则它不是Base64 因此,任何Base64字符串都可以表示为ASCII。因此,如果您有一个包含Ruby中Base64数据的ASCII-8BIT字符串,那么您应该能够将其转换为ASCII而不会出现任何问题。如果你不能,那就不是Base64Ruby 如何在Scala中解码/编码ASCII8bit?,ruby,scala,base64,ascii-8bit,Ruby,Scala,Base64,Ascii 8bit,我有一个用Ruby编写的外部系统,它通过ASCII8bit编码的线路发送数据。我应该如何在Scala中解码和编码它们 我在scala中找不到用于解码和编码ASCII8bit字符串的库 据我所知,正确地说,ASCII8bit与Base64类似。但是,Base64编码不止一种。我应该使用哪种类型的编码来确保覆盖所有角落的情况 什么是ASCII-8BIT? ASCII-8BIT是Ruby的二进制编码。在指定编码名称时,二进制名称被接受为ASCII-8BIT的别名。它既用于二进制数据,也用于不知道其真实
.你试过什么?密码错误?我试图通过akka.parboiled2.util.Base64.rfc245进行解码,结果成功了。然而,我不知道它什么时候停止工作,因为它不一样。也许是一样的,但我不知道去哪里查。你试过什么?密码错误?我试图通过akka.parboiled2.util.Base64.rfc245进行解码,结果成功了。然而,我不知道它什么时候停止工作,因为它不一样。也许是一样的,但我不知道去哪里查。