scodec.bits.ByteVector
を使用するコードをテストしようとしています。 UTF-8へのエンコードが失敗した場合、これは潜在的なエラーを返すことができるので、私はByteVector.encodeUtf8(str: String): Either[CharacterCodingException, ByteVector]
無効なUTF-8バイトを含むScala文字列を作成することはできますか?
を使用しています。特に
、私は、エラー条件を処理する必要があります。もちろん、私は電話を隠して私の特性をモックして強制的にLeft[CharacterEncodingException]
を返すことができますが、それはあまりにも面倒です。
私がやりたいことは、無効なutf-8バイトを持つString
を作成してencodeUtf8
と呼ぶことです。
私はこのことができないと考えています。私が何をするにしても、Stringクラスは悪いエントリを無意味なものに強制しますが、それでも有効なUTF-8(例: )です。これは正しいですか?
これは私が、このような文字列を作成しようとしてきた方法です:
new String(Array(255.toByte), "utf-8")
私もいくつかの他のエンコードで文字列を作成しようとした後、UTF-8にエンコードするためにそれを使用しますが、ByteVectorがそれを処理します。
これは可能ですか?
ありがとう、ありがとう!これは実際に動作します。 ByteVector.encodeUtf8は、 'Left(java.nio.charset.MalformedInputException:Input length = 1)'を返します。 – encee