Go 计算Utf8字符串的长度 不要超过mysql字段的最大长度

devtools/2024/12/29 4:01:49/

背景:
我有一个mysql的字段,是utf8格式的,但有时候前端传的字符串会超长,为此我需要在后端接口,先判断是否超长,如果超长,则报错提示前端。

代码:
// 计算utf8下,字符串长度,确保字符串的长度不要超过mysql的字段的最大长度

go">func utf8Length(s string) int {length := 0for _, char := range s {if char <= 127 {length++} else if char <= 2047 {length += 2} else if char <= 65535 {length += 3} else {length += 4}}return length
}

http://www.ppmy.cn/devtools/146294.html

相关文章

游戏引擎学习第62天

回顾 我们目前正在开发一把虚拟剑&#xff0c;目的是让角色可以用这把剑进行攻击。最初的工作中&#xff0c;我们使用了一个摇滚位图作为虚拟剑的模型&#xff0c;并且实现了一个基本的功能&#xff1a;角色可以丢下剑。但这个功能并没有达到预期的效果&#xff0c;因为我们想…

Three.js中调整相机视角的方式

在 Three.js 中&#xff0c;相机的视角&#xff08;即相机的朝向&#xff09;可以通过多种方式进行设置。以下是一些常用的方法&#xff1a; 1. 使用 lookAt 设置视角 camera.lookAt() 是 Three.js 中最常用的方法之一&#xff0c;用于设置相机看向特定的目标点。 示例&#…

FPGA上板项目(五)——UART测试,串口发送

目录 实验内容串口发送模块模块框图时序波形仿真结果 顶层模块设计时序波形仿真结果上板验证 实验内容 每隔1s&#xff0c;串口发送一次 “HELLO!” UART 相关的原理 野火FPGA跟练&#xff08;四&#xff09;——串口RS232、亚稳态、串口RS485 中做过阐述&#xff0c;本篇文章…

Rust 在前端基建中的使用

摘要 随着前端技术的不断发展&#xff0c;前端基础设施&#xff08;前端基建&#xff09;的建设已成为提升开发效率、保障产品质量的关键环节。然而&#xff0c;在应对复杂业务场景与高性能需求时&#xff0c;传统的前端技术栈逐渐暴露出诸多不足。近年来&#xff0c;Rust语言…

代码随想录38 322. 零钱兑换,279.完全平方数,本周小结动态规划,139.单词拆分,动态规划:关于多重背包,你该了解这些!背包问题总结篇。

1.零钱兑换 力扣题目链接(opens new window) 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额&#xff0c;返回 -1。 你可以认为每种硬币的数量是无限的。 示例 1&#xff1a…

云边端一体化架构

云边端一体化架构是一种将云计算、边缘计算和终端设备相结合的分布式计算模型。该架构旨在通过优化资源分配和数据处理流程&#xff0c;提供更高效、更低延迟的服务体验。 下面是对这个架构的简要说明&#xff1a; 01云计算&#xff08;Cloud Computing&#xff09; — 作为中心…

Docker【初识Docker】

目录 为什么会出现Docker这门技术喃&#xff1f; 应用开发和部署的困境 容器技术的先兆 Docker 的出现&#xff1a;简化容器化 Docker 技术的关键创新&#xff1a; Docker 的广泛应用和变革 什么是 Docker&#xff1f; Docker的历史 早期背景&#xff1a;容器化和虚拟化…

SQL—leetcode—175. 组合两个表

175. 组合两个表 表: Person -------------------- | 列名 | 类型 | -------------------- | PersonId | int | | FirstName | varchar | | LastName | varchar | -------------------- personId 是该表的主键&#xff08;具有唯一值的列&#xff09;。 该表包含一些人的 ID 和…