From daec806c5a33b43b9d2cba783ba0c4bda7a54f75 Mon Sep 17 00:00:00 2001 From: Yaourt Date: Thu, 4 Nov 2010 09:31:21 +0100 Subject: [PATCH] UTF-8 charset declared in Protocol, added a getBinaryBulkReply() in Connection --- src/main/java/redis/clients/jedis/Connection.java | 6 +++++- src/main/java/redis/clients/jedis/Protocol.java | 3 +++ src/main/java/redis/clients/util/RedisOutputStream.java | 2 -- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/java/redis/clients/jedis/Connection.java b/src/main/java/redis/clients/jedis/Connection.java index 96bf728..6d0943a 100644 --- a/src/main/java/redis/clients/jedis/Connection.java +++ b/src/main/java/redis/clients/jedis/Connection.java @@ -122,8 +122,12 @@ public class Connection { } public String getBulkReply() { + return new String(getBinaryBulkReply(), Protocol.UTF8); + } + + public byte[] getBinaryBulkReply() { pipelinedCommands--; - return (String) protocol.read(inputStream); + return (byte[]) protocol.read(inputStream); } public Integer getIntegerReply() { diff --git a/src/main/java/redis/clients/jedis/Protocol.java b/src/main/java/redis/clients/jedis/Protocol.java index 0a7f075..aef07c3 100644 --- a/src/main/java/redis/clients/jedis/Protocol.java +++ b/src/main/java/redis/clients/jedis/Protocol.java @@ -4,6 +4,7 @@ import redis.clients.util.RedisInputStream; import redis.clients.util.RedisOutputStream; import java.io.*; +import java.nio.charset.Charset; import java.util.ArrayList; import java.util.List; @@ -11,6 +12,8 @@ public final class Protocol { public static final int DEFAULT_PORT = 6379; + public static final Charset UTF8 = Charset.forName("UTF-8"); + public static final byte DOLLAR_BYTE = '$'; public static final byte ASTERISK_BYTE = '*'; public static final byte PLUS_BYTE = '+'; diff --git a/src/main/java/redis/clients/util/RedisOutputStream.java b/src/main/java/redis/clients/util/RedisOutputStream.java index c366e02..c5f4bc2 100644 --- a/src/main/java/redis/clients/util/RedisOutputStream.java +++ b/src/main/java/redis/clients/util/RedisOutputStream.java @@ -1,7 +1,6 @@ package redis.clients.util; import java.io.*; -import java.nio.charset.Charset; /** * The class implements a buffered output stream without synchronization @@ -12,7 +11,6 @@ public final class RedisOutputStream extends FilterOutputStream { protected final byte buf[]; protected int count; - public static final Charset CHARSET = Charset.forName("UTF-8"); public RedisOutputStream(OutputStream out) { this(out, 8192);