zoukankan      html  css  js  c++  java
  • Redis 存储中文方式

    有时,特殊的一些业务需求,我们会为了方便的情况下,使用中文作为key,正常情况下 ,取数据不会有问题,但是难免会有的时候由于编码格式不一样,而导致取不到数据,这个时候,就需要我们对存储的key做一个特殊的处理。这里我选择使用base64编码处理这种情况。

      <!-- https://mvnrepository.com/artifact/commons-codec/commons-codec -->
    <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
    </dependency>

    首先我们先引入jar包,然后我们先来看看测试代码

    import java.io.UnsupportedEncodingException;
    import java.util.Base64;
    import java.util.UUID;
    
    public class BASE64Test {
        public static void main(String args[]) {
            try {
    
                // 使用基本编码
                String base64encodedString = Base64.getEncoder().encodeToString("生活垃圾".getBytes("utf-8"));
                System.out.println("Base64 编码字符串 (基本) :" + base64encodedString);
    
                // 解码
                byte[] base64decodedBytes = Base64.getDecoder().decode(base64encodedString);
    
                System.out.println("原始字符串: " + new String(base64decodedBytes, "utf-8"));
                base64encodedString = Base64.getUrlEncoder().encodeToString("生活垃圾".getBytes("utf-8"));
                System.out.println("Base64 编码字符串 (URL) :" + base64encodedString);
    
                StringBuilder stringBuilder = new StringBuilder();
    
                for (int i = 0; i < 10; ++i) {
                    stringBuilder.append(UUID.randomUUID().toString());
                }
    
                byte[] mimeBytes = stringBuilder.toString().getBytes("utf-8");
                String mimeEncodedString = Base64.getMimeEncoder().encodeToString(mimeBytes);
                System.out.println("Base64 编码字符串 (MIME) :" + mimeEncodedString);
    
            } catch (UnsupportedEncodingException e) {
                System.out.println("Error :" + e.getMessage());
            }
        }
    
    }

     测试输出结果,没毛病。放入实际业务中使用。当然,有的时候我们在解决问题的时候,还是要先看一下问题到底是怎么导致的,否则努力错了方向,终将颓然。

    // 使用基本编码
    String base64encodedPath = Base64.getEncoder().encodeToString(path.getBytes("utf-8"));      

    一行代码就解决编码问题。

  • 相关阅读:
    Chrome开发者工具中Elements(元素)断点的用途
    最简单的SAP云平台开发教程
    Java实现 LeetCode 495 提莫攻击
    Java实现 LeetCode 494 目标和
    Java实现 LeetCode 494 目标和
    Java实现 LeetCode 494 目标和
    Java实现 LeetCode 493 翻转对
    Java实现 LeetCode 493 翻转对
    Java实现 LeetCode 493 翻转对
    Java实现 LeetCode 492 构造矩形
  • 原文地址:https://www.cnblogs.com/haoliyou/p/14188531.html
Copyright © 2011-2022 走看看