From 3df601e8e1ade140c229ed4b85a36a9a55154fc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=AF=BB=E6=AC=A2?= <1101766085@qq.com> Date: Thu, 26 Aug 2021 17:57:01 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E8=B0=83=E6=95=B4=20PayloadEncode?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/server/http/api/MqttHttpApi.java | 2 +- .../http/api/form => util}/PayloadEncode.java | 26 +++++++++++++++++-- 2 files changed, 25 insertions(+), 3 deletions(-) rename mica-mqtt-core/src/main/java/net/dreamlu/iot/mqtt/core/{server/http/api/form => util}/PayloadEncode.java (81%) diff --git a/mica-mqtt-core/src/main/java/net/dreamlu/iot/mqtt/core/server/http/api/MqttHttpApi.java b/mica-mqtt-core/src/main/java/net/dreamlu/iot/mqtt/core/server/http/api/MqttHttpApi.java index bf890aa..1cdedda 100644 --- a/mica-mqtt-core/src/main/java/net/dreamlu/iot/mqtt/core/server/http/api/MqttHttpApi.java +++ b/mica-mqtt-core/src/main/java/net/dreamlu/iot/mqtt/core/server/http/api/MqttHttpApi.java @@ -22,7 +22,7 @@ import net.dreamlu.iot.mqtt.codec.MqttQoS; import net.dreamlu.iot.mqtt.core.server.dispatcher.IMqttMessageDispatcher; import net.dreamlu.iot.mqtt.core.server.http.api.code.ResultCode; import net.dreamlu.iot.mqtt.core.server.http.api.form.BaseForm; -import net.dreamlu.iot.mqtt.core.server.http.api.form.PayloadEncode; +import net.dreamlu.iot.mqtt.core.util.PayloadEncode; import net.dreamlu.iot.mqtt.core.server.http.api.form.PublishForm; import net.dreamlu.iot.mqtt.core.server.http.api.form.SubscribeForm; import net.dreamlu.iot.mqtt.core.server.http.api.result.Result; diff --git a/mica-mqtt-core/src/main/java/net/dreamlu/iot/mqtt/core/server/http/api/form/PayloadEncode.java b/mica-mqtt-core/src/main/java/net/dreamlu/iot/mqtt/core/util/PayloadEncode.java similarity index 81% rename from mica-mqtt-core/src/main/java/net/dreamlu/iot/mqtt/core/server/http/api/form/PayloadEncode.java rename to mica-mqtt-core/src/main/java/net/dreamlu/iot/mqtt/core/util/PayloadEncode.java index 96fbef8..d34541e 100644 --- a/mica-mqtt-core/src/main/java/net/dreamlu/iot/mqtt/core/server/http/api/form/PayloadEncode.java +++ b/mica-mqtt-core/src/main/java/net/dreamlu/iot/mqtt/core/util/PayloadEncode.java @@ -14,9 +14,8 @@ * limitations under the License. */ -package net.dreamlu.iot.mqtt.core.server.http.api.form; +package net.dreamlu.iot.mqtt.core.util; -import net.dreamlu.iot.mqtt.core.util.HexUtil; import org.tio.utils.hutool.StrUtil; import java.nio.charset.StandardCharsets; @@ -28,28 +27,51 @@ import java.util.Base64; * @author L.cm */ public enum PayloadEncode { + /** * 纯文本、hex、base64 */ plain { + @Override + public String encode(byte[] data) { + return new String(data, StandardCharsets.UTF_8); + } + @Override public byte[] decode(String data) { return data.getBytes(StandardCharsets.UTF_8); } }, hex { + @Override + public String encode(byte[] data) { + return HexUtil.encodeToString(data); + } + @Override public byte[] decode(String data) { return HexUtil.decode(data); } }, base64 { + @Override + public String encode(byte[] data) { + return Base64.getEncoder().encodeToString(data); + } + @Override public byte[] decode(String data) { return Base64.getDecoder().decode(data); } }; + /** + * 编码 + * + * @return byte array + */ + public abstract String encode(byte[] data); + /** * 解码 * -- GitLab