小编Ehr*_*ryk的帖子

如何从base 64编码的字符串中获取十六进制块?

本文本XKCD中,它们都将密码数据显示为十六进制分组.

但是,在文件中它是base64编码的.我可以使用什么来匹配该输出与bash脚本?我试过了:

echo -n "7WkoOEfwfTTioxG6CatHBw==" | base64 -d
echo -n "7WkoOEfwfTTioxG6CatHBw==" | openssl enc -d -base64
Run Code Online (Sandbox Code Playgroud)

它们正在做什么,以及如何将它们解码为十六进制块?

xkcd加密

bash base64 command-line decode password-encryption

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

如何在AutoHotKey脚本中使用'或'?

我一直在浏览AutoHotKey文档,我没有看到如何在上下文特定的热键中使用'或'.在我的设置中,Cygwin将使用ahk_class cygwin(当我使用上下文菜单时)或mintty(当我直接使用.bat或exe时)启动.

目前,我将热键复制到两个单独的块中,

#IfWinActive ahk_class cygwin
...
#IfWinActive
#IfWinActive ahk_class mintty
...
#IfWinActive
Run Code Online (Sandbox Code Playgroud)

有没有办法将它们结合起来?我试过了:

#IfWinActive ahk_class cygwin ahk_class mintty
#IfWinActive ahk_class || cygwin ahk_class mintty
#IfWinActive ahk_class or cygwin ahk_class mintty
#IfWinActive ahk_class cygwin || #IfWinActive ahk_class mintty
#IfWinActive ahk_class cygwin or #IfWinActive ahk_class mintty
#IfWinActive (ahk_class cygwin or ahk_class mintty)
#IfWinActive (ahk_class cygwin || ahk_class mintty)
#IfWinActive ahk_class cygwin|mintty
#IfWinActive ahk_class cygwin||mintty 
Run Code Online (Sandbox Code Playgroud)

......而这些似乎都不起作用.这篇文章说明这可以通过组完成,但我正在寻找一种方法将它们组合在一个语句中.

conditional autohotkey conditional-statements

6
推荐指数
3
解决办法
2465
查看次数

如何在javascript中处理带有正则表达式单词边界的收缩

我有一个 nodejs 脚本,它读入一个文件并计算词频。我目前将每一行输入一个函数:

function getWords(line) {
    return line.match(/\b\w+\b/g);
}
Run Code Online (Sandbox Code Playgroud)

这几乎匹配所有内容,除了它错过了收缩

getWords("I'm") -> {"I", "m"}
Run Code Online (Sandbox Code Playgroud)

但是,我不能只包含撇号,因为我希望匹配的撇号是单词边界:

getWords("hey'there'") -> {"hey", "there"}
Run Code Online (Sandbox Code Playgroud)

有没有办法捕获收缩同时仍然将其他撇号视为单词边界?

javascript regex cpu-word node.js

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

将十六进制 varbinary 转换为其字符串表示形式?

我在 SQL Server 数据库中有一些 base-64 编码的字符串,例如:

\n\n
DECLARE @x VARBINARY(64);\nSET @x = 0x4b78374c6a3733514f723444444d35793665362f6c513d3d\n
Run Code Online (Sandbox Code Playgroud)\n\n

当它被转换或转换为 VARCHAR 时,我得到:

\n\n
+\xc3\x8b\xc2\xbd\xc3\x90:\xc2\xbe\xc3\x8er\xc3\xa9\xc3\xae\xc2\xbf\xe2\x80\xa2\n
Run Code Online (Sandbox Code Playgroud)\n\n

我正在寻找 SQL Server 返回一个 varchar,并将 varbinary 的十六进制表示形式作为 varchar,例如:

\n\n
4b78374c6a3733514f723444444d35793665362f6c513d3d\n
Run Code Online (Sandbox Code Playgroud)\n\n

CAST/CONVERT/function 中是否有一个构建可以执行此操作,或者是否必须将其添加为用户定义函数?UDF 是什么?

\n\n

如果我可以在转换过程中选择大写 AF 还是小写 AF,那就加分了。

\n

sql-server binary hex type-conversion user-defined-functions

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

有没有一种巧妙的方法可以在 JavaScript 中进行未定义的合并?

我正在寻找一种在 javascript 中使用布尔值进行未定义合并的方法。我习惯于执行以下操作,例如,正整数:

var x = i1 || i2 || i3 || i4;
Run Code Online (Sandbox Code Playgroud)

这是一种“巧妙”的方式,但不是我所追求的。我正在寻找??C# 中的等效项。

var b1 = undefined;
var b2 = null;
var b3 = false;
var b4 = true;
var x = b1 || b2 || b3 || b4; //x == true (b4)
Run Code Online (Sandbox Code Playgroud)

但是,我希望上面的内容在 false 上“停止”(在未定义或 null 上合并,但不是 false)。我正在执行此操作的应用程序类似于以下内容:

var threshold = argv[2] ?? process.env.threshold ?? config.threshold ?? 0.3;
var verbose = isTrue(argv[3] ?? process.env.verbose ?? config.verbose ?? false);
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种巧妙的方法来做到这一点,类似于||运算符,而不是:

var verbose …
Run Code Online (Sandbox Code Playgroud)

javascript null undefined null-coalescing-operator

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

在subst命令中删除Trailing \

我已经通过HKCR\Drive\shell\MapLocalDriveHere \命令中的注册表向我的上下文菜单添加了一个命令,这样当我右键单击一个驱动器时.我希望它能给我一个右键单击的驱动器名称"C:"而不是"C:\",因为这会导致我正在尝试运行的命令出现问题.

cmd /c subst %1 /D
Run Code Online (Sandbox Code Playgroud)

这扩展到:

cmd /c subst C:\ /D
Run Code Online (Sandbox Code Playgroud)

命令失败(它预期subst C: /D).如何在没有尾随\的情况下获取参数,或者将其删除?%~d1并且%~1不要从注册表项扩展,键入REG_EXPAND_SZ.

您可以通过查看位于https://github.com/Ehryk/ContextMenuTools的项目来源(尤其是此文件:https://github.com/Ehryk/ContextMenuTools/blob)更好地了解我正在尝试做的事情./master/Custom%20Installs/Map%20Local%20Drive%20Here/MapLocalDriveHere.inf)

windows batch-file variable-expansion

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

Oracle TO_DATE 函数中的跳过字符

我正在yyyy-mm-dd hh24:mi:ss.mmm使用 SQL Developer 的导入数据向导将 .tsv ( )中具有 SQL Server 格式日期的数据导入到 Oracle 数据库中。

如何忽略.mmm将它们导入 DATE 列的字符?我似乎无法找到答案;我知道 DATE 列不包含毫秒,但为什么我不能忽略 TO_DATE 调用中的特定模式?

另请注意,因为我没有生成 TO_DATE 调用,所以SUBSTRING在导入期间我不能或以其他方式操作 .tsv 的值。

导入数据向导 - 日期

sql date oracle11g to-date

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

如何在匹配查询中停止添加行?

我很难将我想要的东西翻译成函数式编程,因为我认为这是必要的.基本上,我有一张表格和一份期望表.在Expectation视图中,我希望它通过表格表查看并告诉我每个人是否找到了匹配项.但是,当我尝试使用联接来完成此操作时,联接会在两个或多个表单匹配时向Expectation表添加行.我不想要这个.

以迫切的方式,我想要相当于这个:

ForEach (row in Expectation table)
{
    if (any form in the Form table matches the criteria)
    {
         MatchID = form.ID;
         SignDate = form.SignDate;
         ...
    }
}
Run Code Online (Sandbox Code Playgroud)

我在SQL中拥有的是:

SELECT
    e.*, match.ID, match.SignDate, ...
FROM
   POFDExpectation e LEFT OUTER JOIN
   (SELECT MIN(ID) as MatchID, MIN(SignDate) as MatchSignDate, 
        COUNT(*) as MatchCount, ...
    FROM Form f
    GROUP BY (matching criteria columns)
        ) match
        ON (form.[match criteria] = expectation.[match criteria])
Run Code Online (Sandbox Code Playgroud)

哪个工作正常,但速度非常慢,每次有两个匹配时,会在Expectation结果中添加一行.在数学上我理解连接是交叉乘法,这是预期的,但我不确定如何在没有它们的情况下这样做.可能是子查询?

我无法提供太多有关实施的详细信息,但我很乐意尝试任何建议并回复结果.我有880个Expectation行,返回了942个结果.如果我只允许匹配一个表单的结果,我会得到831个结果.两者都不可取,所以如果你的确是880,你的答案是肯定的.

编辑:我使用的是SQL Server 2008 R2,但通用解决方案最好.

示例代码:

--DROP VIEW ExpectationView; DROP TABLE Forms; …
Run Code Online (Sandbox Code Playgroud)

sql sql-server functional-programming join

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

SQL Server:如何在没有GROUPing的情况下使用COUNT子句?

考虑到一组约束,我正在寻找查询中的两件事:

  • 第一场比赛
  • 比赛总数

我可以得到第一场比赛:

SELECT TOP 1
    ID,
    ReportYear,
    Name,
    SignDate,
     ... 
FROM Table
WHERE
     ...
ORDER BY ... //I can put in here which one I want to take
Run Code Online (Sandbox Code Playgroud)

然后,如果我使用,我可以获得匹配计数

SELECT
    MIN(ID),
    MIN(ReportYear),
    MIN(Name),
    MIN(SignDate),
     ... ,
    COUNT(*) as MatchCount
FROM Table
WHERE
     ...
GROUP BY
     ??? // I don't really want any grouping
Run Code Online (Sandbox Code Playgroud)

我真的想避免在我的所有结果上分组和使用聚合函数.这个问题SQL Server选择COUNT而不使用聚合函数或group by建议答案是

SELECT TOP 1
    ID,
    ReportYear,
    Name,
    SignDate,
     ... ,
    @@ROWCOUNT as MatchCount
FROM Table
Run Code Online (Sandbox Code Playgroud)

这可以在没有TOP 1的情况下工作,但是当它在那里时,@@ ROWCOUNT =返回的行数,即1.如何在不进行任何分组的情况下基本上获得COUNT(*)的输出(在where子句之后留下的任何内容)需要聚合所有列?

我不想做的是重复这两次,一次为第一行,然后再为@@ ROWCOUNT.我没有找到一种方法可以正确使用GROUP …

sql group-by count

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