在Java中,我们可以这样做:
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.io.File;
...
public void captureScreen(String fileName) throws Exception {
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Rectangle screenRectangle = new Rectangle(screenSize);
Robot robot = new Robot();
BufferedImage image = robot.createScreenCapture(screenRectangle);
ImageIO.write(image, "png", new File(fileName));
}
...
Run Code Online (Sandbox Code Playgroud)
我们如何通过Web应用程序在.NET中执行此操作?捕获客户端的屏幕并将其从应用程序内部发送到服务器.
我可以使用 struct tm 和 time(),localtime(),asctime() 获取系统时间。但是我需要有关如何使用 c 程序设置系统时间的帮助。
我正在使用基于WinPCap构建的SharpPCap来捕获UDP流量.我的最终目标是从H.323捕获音频数据并将这些电话对话保存为WAV文件.但首先要做的是 - 我需要弄清楚我的UDP数据包是通过网卡的.
SharpPCap提供了一个UdpPacket类,使我可以访问消息的PayloadData.但我不确定这些数据是做什么的.它是一个Byte []数组,我不知道如何确定它是否是RTP或RTCP数据包.
我用Google搜索了这个主题,但那里没有多少.任何帮助表示赞赏.
昨天我不得不解析一个非常简单的二进制数据文件 - 规则是,连续查找两个字节都是0xAA,然后下一个字节将是一个长度字节,然后跳过9个字节并输出给定数量的数据那里.重复到文件末尾.
我的解决方案确实有效,而且很快就能组合在一起(尽管我是一名C程序员,但我仍然认为用Python写这个比用C语言更快) - 但是,很明显根本不是Pythonic,它看起来像一个C程序(并不是一个非常好的程序!)
什么是更好/更Pythonic方法呢?像这样的简单FSM在Python中仍然是正确的选择吗?
我的解决方案
#! /usr/bin/python
import sys
f = open(sys.argv[1], "rb")
state = 0
if f:
for byte in f.read():
a = ord(byte)
if state == 0:
if a == 0xAA:
state = 1
elif state == 1:
if a == 0xAA:
state = 2
else:
state = 0
elif state == 2:
count = a;
skip = 9
state = 3
elif state == 3:
skip = skip -1
if skip == 0:
state …Run Code Online (Sandbox Code Playgroud) 我正在用C++编程.我需要将24位有符号整数(存储在3字节数组中)转换为float(规范化为[-1.0,1.0]).
该平台是x86上的MSVC++(这意味着输入是little-endian).
我试过这个:
float convert(const unsigned char* src)
{
int i = src[2];
i = (i << 8) | src[1];
i = (i << 8) | src[0];
const float Q = 2.0 / ((1 << 24) - 1.0);
return (i + 0.5) * Q;
}
Run Code Online (Sandbox Code Playgroud)
我不完全确定,但似乎我从这段代码得到的结果是不正确的.那么,我的代码是错的,如果是的话,为什么呢?
我看到帖子验证了htaccess重写规则中的utf-8,我认为这很好,但是我首先遇到的一个更基本的问题:
我需要扩展以处理查询字符串参数的utf-8字符,目录,文件的名称,以及用户在显示中使用的等.
我使用DefaultCharset utf-8配置我的Apache,如果重要的话还配置了我的php.我的原始重写规则过滤了除常规A-Za-z和下划线和连字符之外的所有内容.它起作用了.任何其他东西都会给你一个404(这就是我想要的!)现在,然而,似乎一切都匹配,包括我不想要的东西,但是,虽然它似乎匹配它不会进入查询字符串,除非它是一个常规的A-Za-z_-字符串.
我发现这令人困惑,因为规则说把你匹配的任何东西放到查询字符串中:
这是原始规则:
RewriteRule ^/puzzle/([A-Za-z_-]+)$ /puzzle.php?g=$1 [NC]
Run Code Online (Sandbox Code Playgroud)
这是修订后的规则:
RewriteRule ^/puzzle/(\w+)$ /puzzle.php?g=$1 [NC]
Run Code Online (Sandbox Code Playgroud)
我做了改变,因为在某处我读到了\ w匹配所有的alpha字符,其中A-Zetc.只匹配没有重音和东西的那些.
我使用哪些规则似乎并不重要:这是发生的事情:
在应用程序中我有这个:
echo $_GET['g'];
Run Code Online (Sandbox Code Playgroud)
如果我给它提供一个像http://mydomain.com/puzzle/USA这样的网址 它会回复"USA"并且工作正常.
如果我给它提供了一个像http://mydomain.com/puzzle/México这样的网址,它就没有回应它,并警告我索引g没有定义,当然也没有获得墨西哥的资源.
如果我给它提供一个像http://mydomain.com/puzzle/fuzzle/buzzle/j.qle这样的网址它会做同样的事情.
最后一个案例应该是404!
无论我使用上述哪个规则,它都会这样做.我配置了重写日志
RewriteLogLevel 5
RewriteLog /opt/local/apache2/logs/puzzles.httpd.rewrite
Run Code Online (Sandbox Code Playgroud)
但它是空的.
这是来自常规访问日志(它给出200的状态)
[26/May/2010:11:21:42 -0700] "GET /puzzle/M%C3%A9xico HTTP/1.1" 200 342
[26/May/2010:11:21:54 -0700] "GET /puzzle/M/l.foo HTTP/1.1" 200 342
Run Code Online (Sandbox Code Playgroud)
我可以做些什么来获得这些$%#$ @(*#@ !!!字符但不是斜线,点或其他非alpha到我的程序中,一旦那里,它会正确解码它们吗?将posix char类工作得更好?还有什么我需要配置的吗?
如何在Maven/Surefire unittest运行"mvn test"期间使清单可用?
我有一个开源项目,我正在从Ant转换为Maven,包括它的单元测试.这是Maven项目的项目源存储库:http: //github.com/znerd/logdoc
我的问题涉及主要模块,称为"基础".该模块有一个单元测试,用于测试getVersion()类中静态方法的行为org.znerd.logdoc.Library.此方法返回:
Library.class.getPackage().getImplementationVersion()
Run Code Online (Sandbox Code Playgroud)
该getImplementationVersion()方法返回清单文件中的设置值.到现在为止还挺好.我在过去测试了这个并且它运行良好,只要清单确实可以在路径的类路径上META-INF/MANIFEST.MF(在文件系统上或在JAR文件内).
现在我的挑战是当我运行单元测试时清单文件不可用:
mvn test
Run Code Online (Sandbox Code Playgroud)
Surefire运行单元测试,但我的单元测试失败,并显示Library.getVersion()返回的消息null.
当我想检查JAR时,我发现它甚至还没有生成.在将资源添加到类路径之前,Maven/Surefire会对类运行单元测试.
进一步调查显示Surefire在临时目录中生成自己的JAR文件,例如
/private/var/folders/TR/TREvj1wIHYyAcUy-xmc3UU+++TI/-Tmp-/surefirebooter7448562488934426857.jar
Run Code Online (Sandbox Code Playgroud)
然后使用此JAR加载Library类.这个JAR不包含我所困的资源src/main/resources.所以放一个META-INF/MANIFEST.MF文件也行不通.
那么我如何告诉Surefire让我的META-INF/MANIFEST.MF文件可以从与类相同的类加载器中获得Library.
请注意,我在Mac OS X 10.6.2上使用Maven 2.2.0,Java 1.6.0_17,使用JUnit 4.8.1.
什么是用于Flash/Flex的C#.Net模拟flash.utils.ByteArray?