我正在尝试在Qt中创建一个UTF-8编码文件.
#include <QtCore>
int main()
{
QString unicodeString = "Some Unicode string";
QFile fileOut("D:\\Temp\\qt_unicode.txt");
if (!fileOut.open(QIODevice::WriteOnly | QIODevice::Text))
{
return -1;
}
QTextStream streamFileOut(&fileOut);
streamFileOut.setCodec("UTF-8");
streamFileOut << unicodeString;
streamFileOut.flush();
fileOut.close();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我认为当QString默认为Unicode时,当我将输出流的编解码器设置为UTF-8时,我的文件将是UTF-8.但它不是,它是ANSI.我做错了什么?我的琴弦有问题吗?你能纠正我的代码来创建UTF-8文件吗?对我来说,下一步将是读取ANSI文件并将其保存为UTF-8文件,因此我将不得不对每个读取字符串执行转换,但现在,我想从一个文件开始.谢谢.
我有一个连接查询:
DECLARE @path NVARCHAR(max)
SELECT @path = ISNULL(@path + '/', '') + url_segment
FROM navigation_self_and_parents(2813) ORDER BY depth ASC
SELECT @path
Run Code Online (Sandbox Code Playgroud)
navigation_self_and_parents(2813) 回报
Run Code Online (Sandbox Code Playgroud)id par_id title url_segment sequence depth 2813 2816 testing1234 testing1234 0 0 2816 2809 U /fixedurl 0 -1 2809 NULL E E 0 -2
我的串联查询返回
'testing1234' when using `NVARCHAR(MAX)` and 'E//fixedurl/testing1234' when using `NVARCHAR(4000)`
我最好的猜测是使用NVARCHAR(MAX)原因@path每次设置都要重新输入,因此在重新输入之前丢失了设置的内容,或者在第一次设置时输入,然后后续连接调用无声地失败.
我很想真正理解这种行为的根本原因.
UPDATE
navigation_self_and_parents:
USE [SomeDatabase]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER FUNCTION [dbo].[navigation_self_and_parents]
(
@id int …Run Code Online (Sandbox Code Playgroud) 我有以下html:
<!doctype HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test</title>
</head>
<body>
<p>A <span>one</span></p>
<p>B <span>two</span></p>
<p>C <span>three</span></p>
<p>D <span>four</span></p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
运行XPath //span[1]获得第一个跨度.但是//span[2]返回null:
input: document.evaluate("//span[1]", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue
output: <span>?one?</span>?
input: document.evaluate("//span[2]", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue
output: null
Run Code Online (Sandbox Code Playgroud)
为什么会这样?
使用32位java编译器生成的.class文件是否可以在64位JVM的64位系统上使用?
这有可能让我所有的朋友都喜欢吗?现在,我通过两个步骤得到这个:
但这似乎是一个非常大的过程,任何人都有想法改善这项任务的性能?
我有一个这样的数据结构:
public class HighLevelConversionData
{
public int customerID {get;set;}
public string customerName {get;set;}
public decimal amountSpent {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
这些数据将由第三方和GWT前端访问,这意味着我将使用Web服务来移动数据.客户也是与开发团队不同的本地化,因此我希望将状态消息作为返回数据项的包装器发送,如下所示:
public class HighLevelConversionDataWrapper
{
public int StatusCode {get;set;}
public string StatusMessage {get;set;}
public List<HighLevelConversionData> {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
但是我宁愿为这些方法继承一个接口,以确保我们总是以相同的方式发送状态代码和消息.但是我对泛型如何在界面中工作的理解似乎让我失望了.我相信应该是这样的:
public Interface IServiceWrapper
{
public int StatusCode {get;set}
public string StatusMessage {get;set;}
public List<T> ReturnedData {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
但是我来这里不见了.
为什么声明的顺序对Java枚举很重要,我的意思是为什么这会给出(编译时)错误
public enum ErrorCodes {
public int id;
Undefined;
}
Run Code Online (Sandbox Code Playgroud)
但是这个很好:
public enum ErrorCodes {
Undefined;
public int id;
}.
Run Code Online (Sandbox Code Playgroud) 我有一个程序监视某些文件的变化.文件一旦更新,就会处理该文件.到目前为止,我已经提出了在R中进行"实时分析"的一般方法.我希望你们有其他方法.也许我们可以讨论他们的优点/缺点.
monitor <- TRUE
start.state <- file.info$mtime # modification time of the file when initiating
while(monitor) {
change.state <- file.info$mtime
if(start.state < change.state) {
#process
} else {
print("Nothing new.")
}
Sys.sleep(sleep.time)
}
Run Code Online (Sandbox Code Playgroud) 根据文档:http://code.google.com/appengine/docs/python/datastore/datamodeling.html#References 自动创建的反向引用对象是一个Query对象,因此可能会对其进行迭代并进行提取调用.
但是:我有一个型号:
class User(db.Model):
name = db.StringProperty()
...
Run Code Online (Sandbox Code Playgroud)
和第二个模型:
class Thing(db.Model):
owner = db.ReferenceProperty(User)
...
Run Code Online (Sandbox Code Playgroud)
当我尝试访问反向引用时:
for thing in user.thing_set:
...
Run Code Online (Sandbox Code Playgroud)
要么:
user.thing_set.fetch(100)
Run Code Online (Sandbox Code Playgroud)
我得到这样的例外:
<type 'exceptions.TypeError'>: '_ReverseReferenceProperty' object is not iterable
Run Code Online (Sandbox Code Playgroud)
或者像这样:
<type 'exceptions.AttributeError'>: '_ReverseReferenceProperty' object has no attribute 'fetch'
Run Code Online (Sandbox Code Playgroud)
我做错了什么或者有什么改变吗?我很确定以前它像Query一样工作.文档页面上甚至有一个示例,显示与我的相同用法:
for obj in obj1.secondmodel_set:
# ...
Run Code Online (Sandbox Code Playgroud)
另外,没有反向引用的查询工作正常:
things = Thing.all().filter('owner =', user)
Run Code Online (Sandbox Code Playgroud)