小编CEG*_*GRD的帖子

为什么0 && 1是1而1 && 0在红宝石中是0?

在Ruby中,为什么以下行是真的?

0 && 1 == 1
1 && 0 == 0
Run Code Online (Sandbox Code Playgroud)

为什么他们不同而且都不是0?

ruby operators

24
推荐指数
2
解决办法
3238
查看次数

在Java中,为什么将字符类型转换为整数不会扩展符号位

在Java中,按位运算会导致类型转换为整数,并且还会导致符号扩展.例如,预期如下:

byte b = -1;
System.out.println(b >> 1);//-1
Run Code Online (Sandbox Code Playgroud)

在Java中,字符以UTF-16编码,每个单元用2个字节表示.

char c = 0xFFFF; //I assume now the sign bit is 1.
System.out.println(c >> 1);//32767 ???? WHY
Run Code Online (Sandbox Code Playgroud)

我期待-1而不是32767.为什么在应用按位操作之前,在类型转换期间标志没有延长?有任何想法吗?

java upcasting

8
推荐指数
1
解决办法
335
查看次数

在Safari和Chrome中允许跨域请求?服务器响应与命令行参数

我试图在Windows上使用Safari进行跨域请求.我的Safari版本是5.1.2.

这是一个经典问题.我在许多地方读过,只要服务器在响应中使用followin标头进行响应,Chrome和Safari就会允许跨域请求

Access-Control-Allow-Origin: *
Run Code Online (Sandbox Code Playgroud)

我看过这篇文章. 如何在Safari中允许跨域请求? 还有很多其他的在stackoverflow网站上.

但是,他们都没有回答我的问题.

我在使用Chrome和Safari执行跨域AJAX请求时遇到问题,即使我从服务器发回必要的标头.

我终于使用"--disable-web-security"运行了Chrome.然后它奏效了.

我的问题:

1)我如何处理Safari?我是否使用类似的命令行参数?

2)更重要的是,我可以告诉我默认情况下Chrome和Safari是否允许跨域功能,只要服务器响应标头或者我必须确保

a)服务器以标头响应

b)使用适当的参数启动浏览器.

safari ajax google-chrome cross-domain

5
推荐指数
1
解决办法
2万
查看次数

powershell 脚本中的 -contains 与 .contains 有什么区别?

.contains 和 -contains 有什么区别?一个似乎区分大小写,而另一个不区分大小写。

PS C:\WINDOWS\system32> ("jack", "john", "jill").contains("Jill")
False


PS C:\WINDOWS\system32> "jack", "john", "jill" -contains "Jill"
True
Run Code Online (Sandbox Code Playgroud)

为什么会有这样的差异?

powershell

3
推荐指数
1
解决办法
4170
查看次数

什么是255的SHA-1?

假设您有一个sha-1算法,它接受文本作为输入而不是字节数组.(例如,有一些像这样的Javascript库).

如果要将sha-1应用于文本(假设文本是密码),则首先执行utf-8编码,因为文本可以包含多字节字符.换句话说,文本中字符的相应整数值可以大于8位字节可以容纳的值.由于sha-1算法适用于8位单元,因此有助于首先在utf-8中对文本进行编码.

我的问题是这样的:当你有一个非文本的二进制数据,其中每个字节的值是0和255之间,你仍然应该做的二进制数据UTF-8编码,你把它传递给了SHA-1算法之前?我知道当值介于0和127之间时,utf-8根本不会修改数据.

但是,如果值介于128和255之间,则UTF-8会修改此类数据.

总之,这是我的问题:包含值255(全1)的字节的SHA-1是什么?

With UTF-8 encoding:    730cf30d408ecf51aad876f5c491f837f7ddea4c

Without UTF-8 encoding: 85e53271e14006f0265921d02d4d736cdc580b0b
Run Code Online (Sandbox Code Playgroud)

哪一个是正确的?

sha1 utf-8

1
推荐指数
1
解决办法
326
查看次数

在 powershell 中对空字符串应用拆分后,相等运算符不产生 True/False 输出的原因是什么?

当我对空字符串应用 split,然后应用相等比较时,我没有得到 $True 或 $False(见下文)。

更奇怪的是,当我将分割结果与空字符串进行比较时,我看到一些不可见的输出,而当我将分割结果与非空字符串进行比较时,我没有看到任何输出(见下文)。

PS > ''.split(',') -eq ''

PS > ''.split(',') -eq 'a'
PS > ''.split(',') -ne ''
PS > ''.split(',') -ne 'a'

PS >
Run Code Online (Sandbox Code Playgroud)

这种奇怪行为的原因是什么?

powershell

1
推荐指数
1
解决办法
50
查看次数