为什么Python的len()函数可以获取字符串真正的长度?

我的理解

通过Python源码可知, Python是由C语言编写的,但是在C/C++语言内,不管是使用strlen()还是String类中的length()方法都无法获取其中有\0数据的变量的真正长度,而Python在实测过程中发现是可以获取到字符串真正长度的,这是为什么?
或者说,这是如何实现的呢?

>>> a=b"\x00ABCDEF"
>>> a
b'\x00ABCDEF'
>>> len(a)
7

python的字符串和C/C++的字符数组不一样,python的字符串是不可变的,所以能获取到真正的长度

呃,虽然是用C语言写的,但是虚拟机不一定用的就是C语言现成的函数啊,为什么不用C语言写一种可以获取真实长度的?就比如C++中的

vector<char>

就可以,用C语言写一个类似的就行了