Descomprimir string GZip em Java

Posso encontrar muitas funções que permitem descompactar um arquivo GZip, mas como descompactar uma string GZip?

Estou tentando analisar uma resposta HTTP em que o corpo da resposta é compactado com o GZip. No entanto, toda a resposta é simplesmente armazenada em uma string, de modo que parte dela contém caracteres binários.

Estou tentando usar:

byte responseBodyBytes[] = responseBody.getBytes();
ByteArrayInputStream bais = new ByteArrayInputStream(responseBodyBytes); 
GZIPInputStream gzis = new GZIPInputStream(bais);

Mas isso apenas gera uma exceção: java.io.IOException: não está no formato GZIP