文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
7.3 定长字符串
HDF5对字符串的处理有些麻烦,你已经在第6章见识过了。
我们在下一节会看到,大多数真实世界的字符串都和固定长度的存储格格不入。但是定长字符串在FORTRAN的年代就被广泛使用,一直沿用至NumPy的世界。
在NumPy中,这些定长字符串以“S”dtype创建。这是一种灵活的dtype,允许你在创建类型时设置字符串的长度。HDF5本地支持定长字符串:
和NumPy定长字符串一样,HDF5也会将字符串超出长度的部分截断:
技术上来说,这些都是定长字节字符串,这意味着它们的每个字符都占用一个字节。HDF5假定它们只保存ASCII文本。NumPy还支持定长Unicode字符串,它们的每个字符会占用多个字节,可以代表ASCII范围以外的内容。这些类型需要以“U”dtype创建,比如dtype(“U10”)。
不幸的是,HDF5不支持“宽字符”Unicode字符串,所以你无法将“U”字符串直接保存入文件。别担心,你不会因此就跟Unicode无缘的。不过先让我们去讨论HDF5最棒的特性之一:变长字符串。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论