回复: 大佬来,QString比较尴尬的地方!
#11 回 snow_man_0 的帖子 [liulin188 04-21 00:52]
snow_man_0:试试用toLocal8Bit() (2020-04-21 00:35)
不是这里的问题
#12 [stlcours 04-21 05:11]
QString s = 来源 ? 关键就是这个来源啊
如果使用 QString s = "mydata1\0\mydata2"; 按你的前一种方法,当然有问题。特别是,这个数据如果来自于文件或者其它不可知来源,就更容易出问题。请你告诉我,你的数据来源是什么?
有人说,编程其实就是在对字符串进行编程,事实差不多也是这样,很多很多的功能,我都是通过QString完成的,Qt官方称全世界有300万Qt程序员,我不信这么重要的utf8转换(没有之一!)还会出问题。所以最好你把来龙去脉都讲清楚,让我们帮你看一看。
#13 回 stlcours 的帖子 [j695858658 04-21 09:29]
stlcours:
QString s = 来源 ? 关键就是这个来源啊
如果使用 QString s = "mydata1\0\mydata2"; 按你的前一种方法,当然有问题。特别是,这个数据如果来自于文件或者其它不可知来源,就更容易出问题。请你告诉我,你的数据来源是什么?
有人说,编程其实就是在对字符串进行编程,事实差不多也是这样,很多很多的功能,我都是通过QString完成的,Qt官方称全世界有300万Qt程序员,我不信这么重要的utf8转换(没有之一!)还会出问题。所以最好你把来龙去脉都讲清楚,让我们帮你看一看。
.......
确实有可能是这样的 QString不能接受含有\0的字符 确实会有问题的。
#14 回 stlcours 的帖子 [liulin188 04-21 13:39]
stlcours:
QString s = 来源 ? 关键就是这个来源啊
如果使用 QString s = "mydata1\0\mydata2"; 按你的前一种方法,当然有问题。特别是,这个数据如果来自于文件或者其它不可知来源,就更容易出问题。请你告诉我,你的数据来源是什么?
有人说,编程其实就是在对字符串进行编程,事实差不多也是这样,很多很多的功能,我都是通过QString完成的,Qt官方称全世界有300万Qt程序员,我不信这么重要的utf8转换(没有之一!)还会出问题。所以最好你把来龙去脉都讲清楚,让我们帮你看一看。
.......
请看我5楼的代码,来源就是texteidt里的字符(全部是正常的字母数字)
我也没说是tuUtf8有问题,只是说QString转成的char *直接作为参数用于c库函数调用存在不稳定性!
#15 回 j695858658 的帖子 [liulin188 04-21 13:39]
j695858658:确实有可能是这样的 QString不能接受含有\0的字符 确实会有问题的。
(2020-04-21 09:29)
看我5楼的代码