【MySQL】utft8mb4 字符集及其排序规则(字符集校验规则)

UTF-8 是 Unicode 的一种实现方式,它可以表示世界上绝大多数的字符,包括大部分的中文字符。MySQL 从 5.5.3 版本开始支持 UTF-8 字符集,其中包括 UTF-8MB4。UTF-8MB4 是 MySQL 支持的最大的字符集,它可以表示 4 字节的 Unicode 字符,包括 Emoji 表情符号等。

UTF-8MB4 与其他 UTF-8 字符集的区别在于,它可以表示更多的 Unicode 字符,特别是那些需要 4 字节来表示的字符。如果你需要存储和处理 Emoji 表情符号等特殊字符,建议使用 UTF-8MB4 字符集。

需要注意的是,UTF-8MB4 字符集需要更多的存储空间和处理时间,因此在使用时需要考虑到性能问题。如果你不需要存储和处理特殊字符,可以考虑使用较小的 UTF-8 字符集。

与其他字符集一样,utf8mb4也支持很多排序规则(字符集校验规则)

查询方式

-- 内置命令查询
show collation where Charset='utf8mb4';
-- SQL 查询 
select * from information_schema.collations where character_set_name = "utf8mb4" order by COLLATION_NAME;

查询结果

# 使用内置命令
mysql> show collation where Charset='utf8mb4';
+----------------------------+---------+-----+---------+----------+---------+---------------+
| Collation                  | Charset | Id  | Default | Compiled | Sortlen | Pad_attribute |
+----------------------------+---------+-----+---------+----------+---------+---------------+
| utf8mb4_0900_ai_ci         | utf8mb4 | 255 | Yes     | Yes      |       0 | NO PAD        |
| utf8mb4_0900_as_ci         | utf8mb4 | 305 |         | Yes      |       0 | NO PAD        |
| utf8mb4_0900_as_cs         | utf8mb4 | 278 |         | Yes      |       0 | NO PAD        |
| utf8mb4_0900_bin           | utf8mb4 | 309 |         | Yes      |       1 | NO PAD        |
| utf8mb4_bin                | utf8mb4 |  46 |         | Yes      |       1 | PAD SPACE     |
| utf8mb4_croatian_ci        | utf8mb4 | 245 |         | Yes      |       8 | PAD SPACE     |
| utf8mb4_cs_0900_ai_ci      | utf8mb4 | 266 |         | Yes      |       0 | NO PAD        |
| utf8mb4_cs_0900_as_cs      | utf8mb4 | 289 |         | Yes      |       0 | NO PAD        |
| utf8mb4_czech_ci           | utf8mb4 | 234 |         | Yes      |       8 | PAD SPACE     |
| utf8mb4_danish_ci          | utf8mb4 | 235 |         | Yes      |       8 | PAD SPACE     |
| utf8mb4_da_0900_ai_ci      | utf8mb4 | 267 |         | Yes      |       0 | NO PAD        |
| utf8mb4_da_0900_as_cs      | utf8mb4 | 290 |         | Yes      |       0 | NO PAD        |
| utf8mb4_de_pb_0900_ai_ci   | utf8mb4 | 256 |         | Yes      |       0 | NO PAD        |
| utf8mb4_de_pb_0900_as_cs   | utf8mb4 | 279 |         | Yes      |       0 | NO PAD        |
| utf8mb4_eo_0900_ai_ci      | utf8mb4 | 273 |         | Yes      |       0 | NO PAD        |
| utf8mb4_eo_0900_as_cs      | utf8mb4 | 296 |         | Yes      |       0 | NO PAD        |
| utf8mb4_esperanto_ci       | utf8mb4 | 241 |         | Yes      |       8 | PAD SPACE     |
| utf8mb4_estonian_ci        | utf8mb4 | 230 |         | Yes      |       8 | PAD SPACE     |
| utf8mb4_es_0900_ai_ci      | utf8mb4 | 263 |         | Yes      |       0 | NO PAD        |
| utf8mb4_es_0900_as_cs      | utf8mb4 | 286 |         | Yes      |       0 | NO PAD        |
| utf8mb4_es_trad_0900_ai_ci | utf8mb4 | 270 |         | Yes      |       0 | NO PAD        |
| utf8mb4_es_trad_0900_as_cs | utf8mb4 | 293 |         | Yes      |       0 | NO PAD        |
| utf8mb4_et_0900_ai_ci      | utf8mb4 | 262 |         | Yes      |       0 | NO PAD        |
| utf8mb4_et_0900_as_cs      | utf8mb4 | 285 |         | Yes      |       0 | NO PAD        |
| utf8mb4_general_ci         | utf8mb4 |  45 |         | Yes      |       1 | PAD SPACE     |
| utf8mb4_german2_ci         | utf8mb4 | 244 |         | Yes      |       8 | PAD SPACE     |
| utf8mb4_hr_0900_ai_ci      | utf8mb4 | 275 |         | Yes      |       0 | NO PAD        |
| utf8mb4_hr_0900_as_cs      | utf8mb4 | 298 |         | Yes      |       0 | NO PAD        |
| utf8mb4_hungarian_ci       | utf8mb4 | 242 |         | Yes      |       8 | PAD SPACE     |
| utf8mb4_hu_0900_ai_ci      | utf8mb4 | 274 |         | Yes      |       0 | NO PAD        |
| utf8mb4_hu_0900_as_cs      | utf8mb4 | 297 |         | Yes      |       0 | NO PAD        |
| utf8mb4_icelandic_ci       | utf8mb4 | 225 |         | Yes      |       8 | PAD SPACE     |
| utf8mb4_is_0900_ai_ci      | utf8mb4 | 257 |         | Yes      |       0 | NO PAD        |
| utf8mb4_is_0900_as_cs      | utf8mb4 | 280 |         | Yes      |       0 | NO PAD        |
| utf8mb4_ja_0900_as_cs      | utf8mb4 | 303 |         | Yes      |       0 | NO PAD        |
| utf8mb4_ja_0900_as_cs_ks   | utf8mb4 | 304 |         | Yes      |      24 | NO PAD        |
| utf8mb4_latvian_ci         | utf8mb4 | 226 |         | Yes      |       8 | PAD SPACE     |
| utf8mb4_la_0900_ai_ci      | utf8mb4 | 271 |         | Yes      |       0 | NO PAD        |
| utf8mb4_la_0900_as_cs      | utf8mb4 | 294 |         | Yes      |       0 | NO PAD        |
| utf8mb4_lithuanian_ci      | utf8mb4 | 236 |         | Yes      |       8 | PAD SPACE     |
| utf8mb4_lt_0900_ai_ci      | utf8mb4 | 268 |         | Yes      |       0 | NO PAD        |
| utf8mb4_lt_0900_as_cs      | utf8mb4 | 291 |         | Yes      |       0 | NO PAD        |
| utf8mb4_lv_0900_ai_ci      | utf8mb4 | 258 |         | Yes      |       0 | NO PAD        |
| utf8mb4_lv_0900_as_cs      | utf8mb4 | 281 |         | Yes      |       0 | NO PAD        |
| utf8mb4_persian_ci         | utf8mb4 | 240 |         | Yes      |       8 | PAD SPACE     |
| utf8mb4_pl_0900_ai_ci      | utf8mb4 | 261 |         | Yes      |       0 | NO PAD        |
| utf8mb4_pl_0900_as_cs      | utf8mb4 | 284 |         | Yes      |       0 | NO PAD        |
| utf8mb4_polish_ci          | utf8mb4 | 229 |         | Yes      |       8 | PAD SPACE     |
| utf8mb4_romanian_ci        | utf8mb4 | 227 |         | Yes      |       8 | PAD SPACE     |
| utf8mb4_roman_ci           | utf8mb4 | 239 |         | Yes      |       8 | PAD SPACE     |
| utf8mb4_ro_0900_ai_ci      | utf8mb4 | 259 |         | Yes      |       0 | NO PAD        |
| utf8mb4_ro_0900_as_cs      | utf8mb4 | 282 |         | Yes      |       0 | NO PAD        |
| utf8mb4_ru_0900_ai_ci      | utf8mb4 | 306 |         | Yes      |       0 | NO PAD        |
| utf8mb4_ru_0900_as_cs      | utf8mb4 | 307 |         | Yes      |       0 | NO PAD        |
| utf8mb4_sinhala_ci         | utf8mb4 | 243 |         | Yes      |       8 | PAD SPACE     |
| utf8mb4_sk_0900_ai_ci      | utf8mb4 | 269 |         | Yes      |       0 | NO PAD        |
| utf8mb4_sk_0900_as_cs      | utf8mb4 | 292 |         | Yes      |       0 | NO PAD        |
| utf8mb4_slovak_ci          | utf8mb4 | 237 |         | Yes      |       8 | PAD SPACE     |
| utf8mb4_slovenian_ci       | utf8mb4 | 228 |         | Yes      |       8 | PAD SPACE     |
| utf8mb4_sl_0900_ai_ci      | utf8mb4 | 260 |         | Yes      |       0 | NO PAD        |
| utf8mb4_sl_0900_as_cs      | utf8mb4 | 283 |         | Yes      |       0 | NO PAD        |
| utf8mb4_spanish2_ci        | utf8mb4 | 238 |         | Yes      |       8 | PAD SPACE     |
| utf8mb4_spanish_ci         | utf8mb4 | 231 |         | Yes      |       8 | PAD SPACE     |
| utf8mb4_sv_0900_ai_ci      | utf8mb4 | 264 |         | Yes      |       0 | NO PAD        |
| utf8mb4_sv_0900_as_cs      | utf8mb4 | 287 |         | Yes      |       0 | NO PAD        |
| utf8mb4_swedish_ci         | utf8mb4 | 232 |         | Yes      |       8 | PAD SPACE     |
| utf8mb4_tr_0900_ai_ci      | utf8mb4 | 265 |         | Yes      |       0 | NO PAD        |
| utf8mb4_tr_0900_as_cs      | utf8mb4 | 288 |         | Yes      |       0 | NO PAD        |
| utf8mb4_turkish_ci         | utf8mb4 | 233 |         | Yes      |       8 | PAD SPACE     |
| utf8mb4_unicode_520_ci     | utf8mb4 | 246 |         | Yes      |       8 | PAD SPACE     |
| utf8mb4_unicode_ci         | utf8mb4 | 224 |         | Yes      |       8 | PAD SPACE     |
| utf8mb4_vietnamese_ci      | utf8mb4 | 247 |         | Yes      |       8 | PAD SPACE     |
| utf8mb4_vi_0900_ai_ci      | utf8mb4 | 277 |         | Yes      |       0 | NO PAD        |
| utf8mb4_vi_0900_as_cs      | utf8mb4 | 300 |         | Yes      |       0 | NO PAD        |
| utf8mb4_zh_0900_as_cs      | utf8mb4 | 308 |         | Yes      |       0 | NO PAD        |
+----------------------------+---------+-----+---------+----------+---------+---------------+
75 rows in set (0.03 sec)# 使用SQL 
mysql> select * from information_schema.collations where character_set_name = "utf8mb4" order by COLLATION_NAME;
+----------------------------+--------------------+-----+------------+-------------+---------+---------------+
| COLLATION_NAME             | CHARACTER_SET_NAME | ID  | IS_DEFAULT | IS_COMPILED | SORTLEN | PAD_ATTRIBUTE |
+----------------------------+--------------------+-----+------------+-------------+---------+---------------+
| utf8mb4_0900_ai_ci         | utf8mb4            | 255 | Yes        | Yes         |       0 | NO PAD        |
| utf8mb4_0900_as_ci         | utf8mb4            | 305 |            | Yes         |       0 | NO PAD        |
| utf8mb4_0900_as_cs         | utf8mb4            | 278 |            | Yes         |       0 | NO PAD        |
| utf8mb4_0900_bin           | utf8mb4            | 309 |            | Yes         |       1 | NO PAD        |
...

各排序规则含义

校验规则描述
utf8mb4_0900_ai_ci基于Unicode 9.0.0版本,不区分大小写,适用于多语言环境,提供准确的排序结果。
utf8mb4_0900_as_ci基于Unicode 9.0.0版本,不区分大小写,适用于多语言环境,提供准确的排序结果。
utf8mb4_0900_as_cs基于Unicode 9.0.0版本,区分大小写,适用于多语言环境,提供准确的排序结果。
utf8mb4_0900_bin基于Unicode 9.0.0版本,进行严格的二进制比较和排序,区分大小写和字符编码。
utf8mb4_bin进行严格的二进制比较和排序,区分大小写和字符编码。
utf8mb4_croatian_ci不区分大小写,适用于克罗地亚语的比较和排序。
utf8mb4_cs_0900_ai_ci基于Unicode 9.0.0版本,不区分大小写,适用于捷克语的比较和排序。
utf8mb4_cs_0900_as_cs基于Unicode 9.0.0版本,区分大小写,适用于捷克语的比较和排序。
utf8mb4_czech_ci不区分大小写,适用于捷克语的比较和排序。
utf8mb4_danish_ci不区分大小写,适用于丹麦语的比较和排序。
utf8mb4_da_0900_ai_ci基于Unicode 9.0.0版本,适用于丹麦语,不区分大小写,提供准确的排序结果。
utf8mb4_da_0900_as_cs基于Unicode 9.0.0版本,适用于丹麦语,区分大小写,提供准确的排序结果。
utf8mb4_de_pb_0900_ai_ci基于Unicode 9.0.0版本,适用于德语(奥地利/瑞士),不区分大小写,提供准确的排序结果。
utf8mb4_de_pb_0900_as_cs基于Unicode 9.0.0版本,适用于德语(奥地利/瑞士),区分大小写,提供准确的排序结果。
utf8mb4_eo_0900_ai_ci基于Unicode 9.0.0版本,适用于世界语,不区分大小写,提供准确的排序结果。
utf8mb4_eo_0900_as_cs基于Unicode 9.0.0版本,适用于世界语,区分大小写,提供准确的排序结果。
utf8mb4_esperanto_ci不区分大小写,适用于世界语的比较和排序。
utf8mb4_estonian_ci不区分大小写,适用于爱沙尼亚语的比较和排序。
utf8mb4_es_0900_ai_ci基于Unicode 9.0.0版本,适用于西班牙语,不区分大小写,提供准确的排序结果。
utf8mb4_es_0900_as_cs基于Unicode 9.0.0版本,适用于西班牙语,区分大小写,提供准确的排序结果。
utf8mb4_es_trad_0900_ai_ci基于Unicode 9.0.0版本,适用于传统的西班牙语,不区分大小写,提供准确的排序结果。
utf8mb4_es_trad_0900_as_cs基于Unicode 9.0.0版本,适用于传统的西班牙语,区分大小写,提供准确的排序结果。
utf8mb4_et_0900_ai_ci基于Unicode 9.0.0版本,适用于爱沙尼亚语,不区分大小写,提供准确的排序结果。
utf8mb4_et_0900_as_cs基于Unicode 9.0.0版本,适用于爱沙尼亚语,区分大小写,提供准确的排序结果。
utf8mb4_general_ci不区分大小写的通用排序规则,适用于多语言环境。
utf8mb4_german2_ci不区分大小写,适用于德语的比较和排序,提供更严格的排序规则。
utf8mb4_hr_0900_ai_ci基于Unicode 9.0.0版本,适用于克罗地亚语,不区分大小写,提供准确的排序结果。
utf8mb4_hr_0900_as_cs基于Unicode 9.0.0版本,适用于克罗地亚语,区分大小写,提供准确的排序结果。
utf8mb4_hungarian_ci不区分大小写,适用于匈牙利语的比较和排序。
utf8mb4_hu_0900_ai_ci基于Unicode 9.0.0版本,适用于匈牙利语,不区分大小写,提供准确的排序结果。
utf8mb4_hu_0900_as_cs基于Unicode 9.0.0版本,适用于匈牙利语,区分大小写,提供准确的排序结果。
utf8mb4_icelandic_ci不区分大小写,适用于冰岛语的比较和排序。
utf8mb4_is_0900_ai_ci基于Unicode 9.0.0版本,适用于冰岛语,不区分大小写,提供准确的排序结果。
utf8mb4_is_0900_as_cs基于Unicode 9.0.0版本,适用于冰岛语,区分大小写,提供准确的排序结果。
utf8mb4_ja_0900_as_cs基于Unicode 9.0.0版本,适用于日语,区分大小写,提供准确的排序结果。
utf8mb4_ja_0900_as_cs_ks基于Unicode 9.0.0版本,适用于日语,区分大小写和偏旁部首,提供准确的排序结果。
utf8mb4_latvian_ci不区分大小写,适用于拉脱维亚语的比较和排序。
utf8mb4_la_0900_ai_ci基于Unicode 9.0.0版本,适用于拉丁语系语言,不区分大小写,提供准确的排序结果。
utf8mb4_la_0900_as_cs基于Unicode 9.0.0版本,适用于拉丁语系语言,区分大小写,提供准确的排序结果。
utf8mb4_lithuanian_ci不区分大小写,适用于立陶宛语的比较和排序。
utf8mb4_lt_0900_ai_ci基于Unicode 9.0.0版本,适用于立陶宛语,不区分大小写,提供准确的排序结果。
utf8mb4_lt_0900_as_cs基于Unicode 9.0.0版本,适用于立陶宛语,区分大小写,提供准确的排序结果。
utf8mb4_lv_0900_ai_ci基于Unicode 9.0.0版本,适用于拉脱维亚语,不区分大小写,提供准确的排序结果。
utf8mb4_lv_0900_as_cs基于Unicode 9.0.0版本,适用于拉脱维亚语,区分大小写,提供准确的排序结果。
utf8mb4_persian_ci不区分大小写,适用于波斯语的比较和排序。
utf8mb4_pl_0900_ai_ci基于Unicode 9.0.0版本,适用于波兰语,不区分大小写,提供准确的排序结果。
utf8mb4_pl_0900_as_cs基于Unicode 9.0.0版本,适用于波兰语,区分大小写,提供准确的排序结果。
utf8mb4_polish_ci不区分大小写,适用于波兰语的比较和排序。
utf8mb4_romanian_ci不区分大小写,适用于罗马尼亚语的比较和排序。
utf8mb4_roman_ci不区分大小写,适用于罗马语系的比较和排序。
utf8mb4_ro_0900_ai_ci基于Unicode 9.0.0版本,适用于罗马尼亚语,不区分大小写,提供准确的排序结果。
utf8mb4_ro_0900_as_cs基于Unicode 9.0.0版本,适用于罗马尼亚语,区分大小写,提供准确的排序结果。
utf8mb4_ru_0900_ai_ci基于Unicode 9.0.0版本,适用于俄语,不区分大小写,提供准确的排序结果。
utf8mb4_ru_0900_as_cs基于Unicode 9.0.0版本,适用于俄语,区分大小写,提供准确的排序结果。
utf8mb4_sinhala_ci不区分大小写,适用于僧伽罗语的比较和排序。
utf8mb4_sk_0900_ai_ci基于Unicode 9.0.0版本,适用于斯洛伐克语,不区分大小写,提供准确的排序结果。
utf8mb4_sk_0900_as_cs基于Unicode 9.0.0版本,适用于斯洛伐克语,区分大小写,提供准确的排序结果。
utf8mb4_slovak_ci不区分大小写,适用于斯洛伐克语的比较和排序。
utf8mb4_slovenian_ci不区分大小写,适用于斯洛文尼亚语的比较和排序。
utf8mb4_sl_0900_ai_ci基于Unicode 9.0.0版本,适用于斯洛文尼亚语,不区分大小写,提供准确的排序结果。
utf8mb4_sl_0900_as_cs基于Unicode 9.0.0版本,适用于斯洛文尼亚语,区分大小写,提供准确的排序结果。
utf8mb4_spanish2_ci不区分大小写,适用于西班牙语的比较和排序。
utf8mb4_spanish_ci不区分大小写,适用于西班牙语的比较和排序。
utf8mb4_sv_0900_ai_ci基于Unicode 9.0.0版本,适用于瑞典语,不区分大小写,提供准确的排序结果。
utf8mb4_sv_0900_as_cs基于Unicode 9.0.0版本,适用于瑞典语,区分大小写,提供准确的排序结果。
utf8mb4_swedish_ci不区分大小写,适用于瑞典语的比较和排序。
utf8mb4_tr_0900_ai_ci基于Unicode 9.0.0版本,适用于土耳其语,不区分大小写,提供准确的排序结果。
utf8mb4_tr_0900_as_cs基于Unicode 9.0.0版本,适用于土耳其语,区分大小写,提供准确的排序结果。
utf8mb4_turkish_ci不区分大小写,适用于土耳其语的比较和排序。
utf8mb4_unicode_520_ci不区分大小写,基于Unicode 5.2.0版本的通用排序规则。
utf8mb4_unicode_ci不区分大小写,基于Unicode的通用排序规则。
utf8mb4_vietnamese_ci不区分大小写,适用于越南语的比较和排序。
utf8mb4_vi_0900_ai_ci基于Unicode 9.0.0版本,适用于越南语,不区分大小写,提供准确的排序结果。
utf8mb4_vi_0900_as_cs基于Unicode 9.0.0版本,适用于越南语,区分大小写,提供准确的排序结果。
utf8mb4_zh_0900_as_cs基于Unicode 9.0.0版本,适用于中文,区分大小写,提供准确的排序结果。

常用的排序规则

校验规则描述
utf8mb4_0900_ai_ci基于Unicode 9.0.0版本,不区分大小写,适用于多语言环境,提供准确的排序结果。
utf8mb4_0900_as_ci基于Unicode 9.0.0版本,不区分大小写,适用于多语言环境,提供准确的排序结果。
utf8mb4_0900_as_cs基于Unicode 9.0.0版本,区分大小写,适用于多语言环境,提供准确的排序结果。
utf8mb4_0900_bin基于Unicode 9.0.0版本,进行严格的二进制比较和排序,区分大小写和字符编码。
utf8mb4_bin进行严格的二进制比较和排序,区分大小写和字符编码。
utf8mb4_general_ci不区分大小写的通用排序规则,适用于多语言环境。
utf8mb4_unicode_520_ci不区分大小写,基于Unicode 5.2.0版本的通用排序规则。
utf8mb4_unicode_ci不区分大小写,基于Unicode的通用排序规则。
utf8mb4_zh_0900_as_cs基于Unicode 9.0.0版本,适用于中文,区分大小写,提供准确的排序结果。

基于上表描述信息,utf8mb4_0900_ai_ci 是 utf8mb4 字符集的默认排序规则(字符集校验规则),然而一般软件开发中用户可能选择 utf8mb4_0900_as_csutf8mb4_bin

utf8mb4 字符集的默认校验规则为: utf8mb4_0900_ai_ci

排序规则命名规则:

字符集_[编码|语言][_重音][_大小写敏感][_bin]
字符集: utf8mb4
编码:可选,值可能为 0900、unicode 或 unicode_520
语言:校验规则为特别语言而定制,如 _zh 表示适用于中文,_da 表示适用于丹麦语
重音:ai 表示不区分重音,as 表示区分重音
大小写敏感: ci 表示不区分大小写,cs 表示区分大小写
bin: 指字符比较时采用二进制进行比较。 当将字符串视为二进制进行比较时,会将字符串中的每个字符视为一组字节(或比特)的序列,而不考虑字符的语义、语言、大小写或重音符号等特征。在进行二进制比较时,只比较字符的字节表示,而不考虑字符本身的含义。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/608173.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TDuckX 新功能介绍:提交后抽奖!

欢迎来到 TDuckX,我们最近推出了令人兴奋的新功能——提交后抽奖!现在,您不仅可以收集用户的宝贵意见,还有机会为他们带来丰厚的奖励。让我们一起来了解这个令人期待的新功能吧! 主要功能亮点: 1. 奖品设…

adb 使用的出现 adb server is out of date. killing

我知道你们肯定看到这种播客 像这种解决问题的方法是暂时的 , 因为我们Android studio 中 , 你在查看后台的时候发现 你的Android studio 也占用了一端口 , 就是说你把 Android studio 杀掉了只要打开 Android studio 打开就还是 关闭 cmd adb 看到一个新的方法 , win 10 中…

Spring——Spring AOP1(代理模式Proxy)

代理(Proxy)模式 1.创建工程 2.代理(Proxy)模式介绍 作用:通过代理可以控制访问某个对象的方法,在调用这个方法前做前置处理,调用这个方法后做后置处理。(即: AOP的微观…

GDI+更改背景颜色

GDI更改背景颜色 CRect rectDlg;GetClientRect(rectDlg);//获得窗体的大小Graphics graphics(this->GetDC()->m_hDC);//设置背景颜色Gdiplus::SolidBrush redBrush(Color(240 , 240 , 240));//填充背景graphics.FillRectangle(&redBrush, 0, 0, rectDlg.Width(), re…

C类网络地址段通过变长子网掩码划分3个局域网

现有一个C类网络地址段192.168.1.0/24,局域网1有30个主机,局域网2有20个主机,局域网3有10个主机,请使用变长子网掩码给三个子网分别分配IP地址。 解答:需要先划分数量小的局域网,我这里从局域网3开始划分。…

208.【2023年华为OD机试真题(C卷)】停车场车辆统计(贪心算法实现-JavaPythonC++JS实现)

🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目-停车场车辆统计二.解题思路三.题解代码Python题…

单片机原理及应用:中断服务函数

承接上文,今天我们来学习一下中断服务函数,对中断不了解的朋友可以回顾一下笔者之前的文章 中断系统结构与控制寄存器 中断服务函数是嵌入式系统中用于处理中断事件的函数,在原版的C语言中并不存在。当发生中断事件时,系统将会跳…

(vue)el-cascader级联选择器实现单/多选最后一级并回显

(vue)el-cascader实现多选最后一级并回显 <el-form-item label"选择算法模型&#xff1a;"><el-cascaderv-model"formInline.algorithmId":options"modelOptions":props"{ value: id, label: name, multiple: true, emitPath: fal…

计算机网络—— 概述

概述 1.1 因特网概述 网络、互联网和因特网 网络由若干结点和连接这些结点的链路组成多个网络还可以通过路由器互联起来&#xff0c;这样就构成了一个覆盖范围更大的网络&#xff0c;即互联网&#xff08;或互连网&#xff09;。因特网&#xff08;Internet&#xff09;是世…

C语言入门教程,C语言学习教程(第一部分:编程基础 )一

C语言是一门面向过程的编译型语言&#xff0c;它的运行速度极快&#xff0c;仅次于汇编语言。C语言是计算机产业的核心语言&#xff0c;操作系统、硬件驱动、关键组件、数据库等都离不开C语言&#xff1b;不学习C语言&#xff0c;就不能了解计算机底层。 这套「C语言入门教程」…

每日一练 | 华为认证真题练习Day161

1、OSPF STUB区域的ABR不向STUB区域内泛洪第五类LSA,第四类LSA和第三类LSA&#xff0c;因此STUB区域没有AS外部路由能力&#xff0c;STUB区域的ABR向区域内通告一条默认路由&#xff0c;指导发往AS外部的目的地。 A. 正确 B. 错误 2、OSPF直接运行于TCP协议之上&#xff0c;使…

ORACLE索引失效和sql优化

全部都是在开发中碰到的真实问题&#xff0c;后续会一直更新本条帖子&#xff1a; 场景一&#xff1a; 使用了函数&#xff0c;导致索引失效 交易日期过滤数据时使用了to_date写法&#xff0c;导致日期字段查询未走索引 将控制台输出的sql 粘贴到plsql 按F5打开解释计划执行窗口…

BeanUtils.copyProperties()

BeanUtils.copyProperties会进行类型转换&#xff1b; BeanUtils.copyProperties方法简单来说就是将两个字段相同的对象进行属性值的复制。 如果两个对象之间存在名称不相同的属性&#xff0c;则 BeanUtils 不对这些属性进行处理&#xff0c;需要程序手动处理。 这两个类在不同…

可碧教你C++——哈希

在文章的开始&#xff0c;先祝大家牢大年快乐 哈希的简介 unordered系列 在C11里&#xff0c;加入了两个新的container——unordered_set和unordered_map。 其使用方式与map和set类似&#xff0c;但是其底层实现则与其完全不同。set和map的底层数据结构为红黑树&#xff0c;…

Umbraco:从产品介绍到实战应用

一、产品介绍 Umbraco是一个开源的内容管理系统&#xff08;CMS&#xff09;&#xff0c;以其灵活性和可扩展性而闻名。Umbraco允许开发人员根据需要定制系统&#xff0c;同时为非技术人员提供了一个直观的界面来管理网站内容。Umbraco诞生于丹麦&#xff0c;经过多年的发展&a…

2023年阿里云云栖大会:前沿技术发布与未来展望

在2023年的阿里云云栖大会上&#xff0c;我见证了云计算和人工智能领域的又一历史性时刻。这次大会不仅是对未来科技趋势的一次深入探索&#xff0c;更是阿里云技术实力和创新能力的集中展示。 首先&#xff0c;千亿级参数规模的大模型通义千问2.0的发布&#xff0c;无疑将人工…

Flask修改Response Headers中的Server值

Headers中的Server会暴露出Python版本&#xff0c;导致的结果就是方便被渗透快速定位Python版本后找到对应版本的漏洞&#xff0c;因此导致网络安全问题 伪方法&#xff1a; 像这个马上就暴露出Python版本&#xff0c;如何解决这个网络上有说直接用response.headers.remove(Ser…

Vim 粘贴内容时全变成注释的问题

在使用vim粘贴代码时&#xff0c;会出现注释代码后面的代码全被注释的情况。 解决办法&#xff1a; 进入paste模式&#xff0c;命令模式下输入&#xff1a; :set paste在paste模式下进行复制粘贴就变得很正常了。 解除paste模式&#xff0c;命令模式下输入&#xff1a; :se…

Mysql : command not found

1.Mysql : command not found 安装成功的mysql&#xff0c;并且服务已经启动&#xff0c;查看进行是可以看到的&#xff0c;但是使用命令登录操作&#xff0c;却抛出错误&#xff1a;command not found。 2.解决方案 2.1 查看/usr/bin目录下是否有mysql服务连接 ls /usr/bin…

Docker修改数据目录

在 Docker 中&#xff0c;可以通过修改 Docker 的配置文件来指定 overlay 文件系统的存储路径。Docker 使用 /var/lib/docker 作为默认的存储位置&#xff0c;但你可以更改这个位置&#xff0c;例如将其更改到一个具有更多可用空间的驱动器或分区上。以下是如何进行这项更改的步…