我正在使用该window.atob('string')函数将字符串从base64解码为字符串.现在我想知道,有没有办法检查'string'实际上是否有效base64?如果字符串不是base64,我希望收到通知,以便我可以执行不同的操作.
我正在尝试在可视模式下选择的一段文本上执行'base64 --decode',但是base64命令似乎传递了整行,而不仅仅是我所做的选择.
我在可视模式下选择文本,然后进入正常模式,以便我的命令行如下所示:
:'<,'>!base64 --decode
Run Code Online (Sandbox Code Playgroud)
我应该如何只将选定的一行传递给base64 --decode?
提前致谢
我只是尝试使用KeyCode和修饰符掩码并使用Xkb扩展将其转换为KeySym.我似乎无法弄清楚为什么这不起作用.很明显,修饰语不匹配,但我不知道为什么.我甚至不知道我是否正确地转换了这个组.
#include <stdio.h>
#include <stdlib.h>
#include <X11/X.h>
#include <X11/XKBlib.h>
void check(XkbDescPtr keyboard_map, KeyCode keycode, unsigned int mask) {
//What the hell is diff between XkbKeyGroupInfo and XkbKeyNumGroups?
unsigned char info = XkbKeyGroupInfo(keyboard_map, keycode);
int num_groups = XkbKeyNumGroups(keyboard_map, keycode);
int key_width = XkbKeyGroupsWidth(keyboard_map, keycode);
//int num_syms = XkbKeyNumSyms(keyboard_map, keycode);
//Get the group
unsigned int group = 0; // What should this default to?
switch (XkbOutOfRangeGroupAction(info)) {
case XkbRedirectIntoRange:
/* If the RedirectIntoRange flag is set, the four least significant
* bits …Run Code Online (Sandbox Code Playgroud) 我是一个相当有经验的程序员,但我仍然相对较新的OOP架构和c ++设计.我的大部分经验都是使用C#和Java.我最近努力用c ++编写一个简单的游戏引擎.我使用SDL作为图形.在这篇文章中,我想讨论我的架构并获得一些反馈.特别是,我遇到了一个我想要帮助的设计问题.所以,这里是:
我的问题是:我尝试做一种界面风格的设计.它涉及一系列允许每个对象实现行为的抽象基类.例如,如果我想要一个对象是可移动的,那么它必须从包含被调用的虚函数move()和一些位置坐标的可移动基类继承.如果我要它是可碰撞,对象会从可碰撞抽象类,其中包含虚拟函数继承checkCollision()和handleCollision()以及一个击中格成员变量.像播放器这样的对象继承了这两个基类以及其他几个基类.
只要我在主循环中手动完成所有操作,这就足够了.我可以说:
player.move();
player.checkCollision();
player.handleCollision();
player.draw().
Run Code Online (Sandbox Code Playgroud)
这没关系.但我希望能够在主循环中有一个矢量或通用对象数组,并执行以下操作:
for each object in vector
if object is of type movable
object.move();
if object is of type collidable
object.checkCollision();
Run Code Online (Sandbox Code Playgroud)
我认为我可以通过动态铸造实现这一目标,但我真的无法想出任何东西.我已经尝试将它们存储为void指针,但这并不像我想要的那样工作.我一直在阅读有关视频游戏的游戏对象组件架构,我可能会尝试,但我真的想要挽救我已经写过的内容.我认为这是一个很好的学习机会.如果有人有任何想法我会非常感激.我的架构与其他简单的游戏引擎设计相比如何?我的界面架构是否有意义还是完全不稳定?
我正在使用Strategies编写并行Haskell程序.它没有做它应该做的事情,我想检查一个函数执行的Haskell执行上下文(HEC).
是否有一个getHEC调用或类似的东西,我可以在我的调试输出中使用?
我是dd“从荷兰国际集团/dev/urandom,以创建一个随机文件内容。这很有效,但我希望能够在稍后通过使用相同的种子再次运行 PRNG 来重现文件内容。是否有任何暴露字符设备的可种子 PRNG?
我正在使用最新的 Linux 3.X 内核。
我有两个TextEdit盒子和一个自定义按钮小部件,我希望使用键盘上的Tab键按以下顺序更改焦点:
TextEdit1 <-> TextEdit2 <-> Button
Run Code Online (Sandbox Code Playgroud)
为了获得上面的链,我为每个小部件指定了类似的内容:
KeyNavigation.tab: TextEdit2
KeyNavigation.backtab: TextEdit1
Run Code Online (Sandbox Code Playgroud)
然而,我的问题是Tab键击中了TextEdit,并且不能用于导航.如何禁用标签,TextEdit而不是用它来改变焦点?
我正在阅读关于Doom 3源代码的代码质量的博客文章,我已经陷入了一段我无法理解的C++代码.我应该说我不是C++程序员.
违规代码如下:
Sys_StartAsyncThread(){ // The next look runs is a separate thread.
while ( 1 ){
usleep( 16666 ); // Run at 60Hz
common->Async(); // Do the job
Sys_TriggerEvent( TRIGGER_EVENT_ONE ); // Unlock other thread waiting for inputs
pthread_testcancel(); // Check if we have been cancelled by the main thread (on shutdown).
}
}
Run Code Online (Sandbox Code Playgroud)
(摘自http://fabiensanglard.net/doom3/index.php,主题为"展开循环")
这看起来像一个闭包被作为参数传递给返回值Sys_StartAsyncThread()- 但据我所知,这在C++中是不可能的,而且也是Sys_StartAsyncThread()void类型,所以这里发生了什么?
定义Sys_StartAsyncThread()可以在这里找到.
我正在阅读Linux设备驱动程序,并注意到您可以使用printk打印当前行和文件.这是如何实现的?Linux如何跟踪包含printk语句的行?我还没有在用户空间中编写的"普通C代码"中看到类似的功能.
这是LDD3的一个例子:
printk(KERN_DEBUG "Here I am: %s:%i\n", __FILE__, __LINE__);
Run Code Online (Sandbox Code Playgroud)
编辑:正如piokuc所说,这些实际上是标准的宏.GCC文档在这里描述它们:http://gcc.gnu.org/onlinedocs/cpp/Standard-Predefined-Macros.html
__CODE__为每一行设置并由预处理器替换为当前行,__CODE__为每个文件设置.