后端如何存储表情包?
存储 如何 表情
2023-09-27 14:25:58 时间
前几天项目需要后端支持存储输入法中的表情包 一开始以为挺复杂 结果大意了。
站在巨人的肩膀上让后端支持存储表情包简单的很。
数据流很简单如下
所以与其说是让后端支持存储表情包 倒不如说成是让MySQL支持存储表情包。
而且像123、abc这种字符串也好 或者是123这种数字也好 亦或是表情包也罢 他们其实都有自己对应的编码格式、或者是编码表。就好比ASCII编码表中包含了a、b、c...z 等如下
ACSII表中的符号占一个字符 对欧美佬来说 ACSII表中的符号可能以及基本够用了 但是对亚太地区的国家 比如中国 我们使用中文 所以需要新的编码表容纳中文。
比如我们常听的utf8编码表就支持中文。MySQL的数据库表自然也是支持urf8编码。
换句话说 我们想往MySQL写数据时 需要告诉它我们的数据是啥编码格式的。如果我们不告诉它 或者是它本身不支持某种编码 那读写MYSQL肯定是有问题。
表情包对应的编码表是utf8mb4 它占4个字符。所以如果你想让MYSQL支持存储表情包在创建库表时需要明确指定编码格式是utf8mb4
CREATE TABLE test ( id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键 , ) ENGINE InnoDB DEFAULT CHARSET utf8mb4 COMMENT test
utf8mb4是utf8的超集 我们特别推荐你在创建库表时使用utf8mb4 而不是使用utf8
除了设置库表的编码之外 还需要设置MySQL的每个连接使用的编码 是的 这个单个会话的编码也是可以设置的。使用MySQL命令行类似如下
set names utf8;
当然一般我们是在代码中和MySQL建立链接 所以不同的ORM框架会对应着不同的配置方式 但是他们肯定都会支持你设置每个连接使用的编码集。比如spring中可以如下设置
spring.datasource.url jdbc:mysql://xxx/test?useUnicode true usessl false characterEncoding utf8mb4
Thats all 简简单单.....
如何应对外包公司(文思海辉)的Python后端面试 最近春招如火如荼,我接触到的几位同学也纷纷去市场里试了试水,不得不说由于疫情的影响,导致目前中等水平的开发者择业有了些许困难,毕竟不是所有人都能去一二线的大厂,有的时候海浪过大,我们不得不收起风帆,卧薪尝胆,入港蛰伏,所以我们可以把目光投向一些相对要求不是特别高的岗位,比如外包岗,当然了业内其实对外包公司有一些偏见,评价不高。客观的说,外包公司确实有一些不尽如人意的地方,但是其实也有一些好处不能忽略:比如接触的项目多,接触的人多,积累的经验快,适合想积累经验的人,同时有进入甲方的机会,如果业务做得不错,有一定机会能进入甲方公司,一般甲方如果是大厂的话直接进不去但通过外包进去后有一定概率能转甲方
相关文章
- mysql的存储过程
- 如何查看float在内存中存储方式
- C语言中float如何存储?(转载)
- 每年14PB数据存储需求,海量交通安全数据如何安放?
- [小白技巧]如何在Linux上检查MySQL数据表的存储引擎类型
- 网络安全系列-四十九 IP在ClickHouse如何存储?
- DataHub: 现代数据栈的元数据平台--如何配置DataHub作为Airflow的数据血缘后端存储,自动将工作流DAG写入DataHub作为数据血缘?
- 戴尔-EMC联邦:存储业务该如何处理?
- SwiftUI 数据存储之iOS如何存储数据
- Nvidia GPU 入门教程之 01 Ubuntu如何开启SSH,查看存储情况,查看A100 GPU显卡情况
- Qt中容器类应该如何存储对象(对象加入到容器时会发生拷贝,容器析构时,容器内的对象也会析构)
- 大型硬件厂商如何应对存储市场的蚕食?
- 深入了解浏览器存储:对比Cookie、LocalStorage、sessionStorage与IndexedDB
- 【AGC】云存储如何上传文件?是否可以自行开通?云存储的相关问题,来这里看看!
- 华为云从入门到实战 | 云关系数据库备份、恢复及存储容灾服务
- 存储过程的优缺点(转)
- 触发器与存储过程的区别
- cache数据库之表的存储结构
- mysql修改存储引擎,mysql修改表字符集,mysql修改列字符集,mysql修改排序规则,mysql修改行格式
- 初创公司谈软件定义存储:如何借SDI弯道超车
- 如何使用QoS管理分配存储IOPS?