Groovy 将二进制响应转换为ASCII字符串

Groovy 将二进制响应转换为ASCII字符串,groovy,ascii,soapui,Groovy,Ascii,Soapui,我使用SoapUI向webservice发送请求并获得响应。 如何使用Groovy脚本将此二进制响应转换为ASCII字符串?您的响应采用什么二进制形式?它是字节[]吗?如果是这样,您可以使用以下构造函数轻松地将其转换为String: new String(byte[] bytes, Charset charset) 您可以在groovyConsole中尝试的一个示例: import java.nio.charset.Charset byte[] response = "Some respon

我使用
SoapUI
向webservice发送请求并获得响应。
如何使用
Groovy
脚本将此二进制响应转换为
ASCII
字符串?

您的响应采用什么二进制形式?它是字节[]吗?如果是这样,您可以使用以下构造函数轻松地将其转换为
String

new String(byte[] bytes, Charset charset)
您可以在groovyConsole中尝试的一个示例:

import java.nio.charset.Charset

byte[] response = "Some response".bytes

assert new String(response, Charset.forName("UTF-8")) == "Some response" 

我明白了,但出现了以下错误:
org.codehaus.groovy.control.multiplecompilementErrorsException:启动失败:Script5.groovy:1:无法解析类java.io.charset.charset@line 1,第1列。导入java.io.charset.charset^org.codehaus.groovy.syntax.SyntaxException:无法解析java.io.charset.charset类@第1行第1列检查您的导入:您粘贴的异常提到了
java.io.charset.charset
,本例中使用的字符集是
java.nio.charset.charset
顺便说一句,您还可以尝试使用
String charset
->
新字符串(byte[]bytes,String charset)遵循构造函数
然后它会像这样:
新字符串(响应,“UTF-8”)
在普通Java中,您必须捕获选中的异常,Groovy为您执行。它成功执行,我更正了脚本,但返回的输出与输入相同。无转换。您的输入类型是什么?您只提到了它是二进制响应。也许它已经被翻译成字符串了?你能再检查一下吗?