大数跨境
0
0

从Unicode的有限支持细说VB/VBA中Len/LenB埋的那些雷!

从Unicode的有限支持细说VB/VBA中Len/LenB埋的那些雷! BtOfficer
2025-06-28
0
导读:本文将继续揭示,字符串这方秘境中,为了不让用户爆雷,而多出来的那些冗余部分,在高级应用中,如何丢弃掉或让这些冗余为我所用,从而进一步提升性能和节约开销!

前言

埋雷,却不一定爆雷啊!

用Len返回字符串字符数,用LenB返回字符串的字节大小。这是不是日常操作?在字符串的很多应用中,它们是不是成了构建基础?一切都妥妥滴,如今却说埋了雷?请问雷在何处?

如果BtOfficer说,VB/VBA对Unicode的支持其实是有限的,你信不?不信的话,请在诸多控件中,能显示文本的地方,显示下emoji字符(也即表情字符)看看。

你以为“abc”在VB/VBA中能用Len返回3,就笃定这个字符串有3字符,6字节大小。或者你用《VB/VBA中的内存分配》介绍的方法,分配3字符的缓冲区,就以为缓冲区是6字节大小?其实都错得离谱!

你以为《VB/VBA内置函数之Len/LenB函数(进阶版)》已接近事实真相,其实都是在雷上热舞,只不过没有爆而已。

本文将继续揭示,字符串这方秘境中,为了不让用户爆雷,而多出来的那些冗余部分,在高级应用中,如何丢弃掉或让这些冗余为我所用,从而进一步提升性能和节约开销!

一、字符串的编码

【声明】内容源于网络
0
0
BtOfficer
MyPlace安全生产框架,行业情报,办公自动化
内容 197
粉丝 0
BtOfficer MyPlace安全生产框架,行业情报,办公自动化
总阅读36
粉丝0
内容197