ps1989 发表于 2020-5-30 21:23

易语言 子字节集替换 内的{}中括号含义问题

本帖最后由 ps1989 于 2020-5-31 00:56 编辑

调试输出 (子字节集替换 (到字节集 (“12345”), 到字节集 (“1”), 到字节集 (“2”), 1, 1))


这个我可以理解,意思就是文本里面的1替换为2,但是下面这个我百思不得其解


到文本 (子字节集替换 (到字节集 (整数数组), { 0 }, {}, , )) 备注:整数数组的内容是"我是"的字节集整数文本"206,210,202,199"共4个数组


这里面的 欲被替换的子字节集 { 0 } 是什么意思? 为什么要中括号?又为什么必须是 0 ,还有用作替换的子字节集 { },这里的中括号又是什么意思?为什么内容是空的?


解决办法,看11楼,感谢ID:没有细胞的人,正解,也感谢大家的热心解答,吾爱破解是个好地方!让我的学习少走不少弯路!




再次感谢大家!!{:1_921:}太有爱了,吾爱大佬们!!

没有细胞的人 发表于 2020-5-30 22:12

首先,英式中括号{}表示字节或字节集的意思。类似于易语言里,我想要表示 吾爱破解 是文本,则必须加上双引号,用于易语言来识别这个到底是什么类型的。同理,这个中括号,和双引号的作用类似,都是告诉易语言,这个类型是字节或字节集类型。

其次,{ }里面没有任何数据的时候,表示的是没有字节,就相当于文本的 空白(“”)

当你将 整数数组 到字节集并调试输出出来的时候,它输出的内容是{206,0,0,0,210,0,0,0,202,0,0,0,199,0,0,0}
仔细观察可以发现,如果把这个字节集里面的除了0就是206,210,202,199这四个数据了

所以,我们可以将所有的 0字节集 替换为 无字节集就可以获取到206,210,202,199这四个字节集了,就是将所有的{ 0 }替换为{}(即将为0的字节替换为无字节,类似于文本里面的将“0”替换为“”)

因此,子字节集替换 (到字节集 (整数数组), { 0 }, {}, , )这个命令就是,先将整数数组变成字节集({206,0,0,0,210,0,0,0,202,0,0,0,199,0,0,0}),然后将里面的所有的为0的字节集({ 0 })替换为空字节集({}),就相当于删掉里面的所有的0字节集(为什么相当于删掉所有的0字节集?我们举个例子,我现在有一个文本“12345”,然后我要删掉里面的“3”,我可以用子文本替换,将“3”替换为“”,这样“3”就变成了 空)

如果还有不懂,及时追问

袁煜914 发表于 2020-5-30 21:33

m58758788 发表于 2020-5-30 21:42

本帖最后由 m58758788 于 2020-5-30 21:49 编辑

{0}应该也是一个字节集{}就是空字节集吧
第二个等于没替换啊

ps1989 发表于 2020-5-30 21:53

m58758788 发表于 2020-5-30 21:42
{0}应该也是一个字节集{}就是空字节集吧
第二个等于没替换啊

那为什么要用中括号?空可以直接不填

yuhan694 发表于 2020-5-30 21:54

相当于删除{0}吧

geniusrot 发表于 2020-5-30 21:57

本帖最后由 geniusrot 于 2020-5-30 22:04 编辑

就是把这个字节集的   整数数组里面的{0}这个字节集,替换为空.(就是删除的意思了)

但是因为整数数组里本身就没有{0}这个字节集,所以,最终结果是,不替换任何内容

补充内容:方括号,是因为这是个字节集数组,直接输入4,软件认定为是整数型。替换为空,如果是用“”,软件也会认定为文本型。
一个命令里面,不能有两种以上的格式存在。

而方括号是直接认定所输入内容为字节集的一种方式。不用方括号,也可以采用到字节集(4)的方式,转换成字节集。

替换为空的字节集,一定是要方括号的










.版本 2
.支持库 spec
.子程序 调试
.局部变量 字节集变量, 字节集
字节集变量 = { 1, 33, 1, 3, 1, 3 }
调试输出 (字节集变量)
' 信息框 (“现在字节集的长度为:” + 到文本 (取字节集长度 (字节集变量)), 0, )
字节集变量 = 子字节集替换 (字节集变量, { 4 }, {}, , )
' 信息框 (“现在字节集长度为:” + 到文本 (取字节集长度 (字节集变量)), 0, )
调试输出 (字节集变量)

m58758788 发表于 2020-5-30 21:59

ps1989 发表于 2020-5-30 21:53
那为什么要用中括号?空可以直接不填

可能是为了规范吧
这个代码在哪里看到的呢

m58758788 发表于 2020-5-30 22:02

等于这个吧

.局部变量 aa, 文本型

aa = “我是”
调试输出 (子文本替换 (aa, “你”, “”, , , 真))

geniusrot 发表于 2020-5-30 22:05

geniusrot 发表于 2020-5-30 21:57
就是把这个字节集的   整数数组里面的{0}这个字节集,替换为空.(就是删除的意思了)

但是因为整数 ...

{:301_978:}{:301_978:}说的比较多。应该还算好理解吧。

m58758788 发表于 2020-5-30 22:09

geniusrot 发表于 2020-5-30 22:05
说的比较多。应该还算好理解吧。

替换为空的字节集,直接空格也可以
页: [1] 2 3 4
查看完整版本: 易语言 子字节集替换 内的{}中括号含义问题