我们正在使用JAXB解析XML文档并收到此错误:
[org.xml.sax.SAXParseException: Invalid byte 1 of 1-byte UTF-8 sequence.]
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.createUnmarshalException(AbstractUnmarshallerImpl.java:315)
Run Code Online (Sandbox Code Playgroud)
这究竟是什么意思,我们如何解决这个问题?
我们正在执行以下代码:
jaxbContext = JAXBContext.newInstance(Results.class);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
unmarshaller.setSchema(getSchema());
results = (Results) unmarshaller.unmarshal(new FileInputStream(inputFile));
Run Code Online (Sandbox Code Playgroud)
更新
问题似乎是由于XML文件中的这个"有趣"字符: ¿
为什么会导致这样的问题?
更新2
文件中有两个奇怪的字符.它们位于文件的中间.请注意,该文件是基于数据库中的数据创建的,并且这些奇怪的字符以某种方式进入数据库.
更新3
这是完整的XML代码段:
<Description><![CDATA[Mt. Belvieu ¿ Texas]]></Description>
Run Code Online (Sandbox Code Playgroud)
更新4
请注意,没有<?xml ...?> 标题.
特殊字符的HEX是BF
我正在使用基于x86的内核来操作32位内存映射寄存器.仅当CPU对该寄存器产生32位宽的读写操作时,我的硬件才能正常工作.寄存器在32位地址上对齐,并且不能以字节粒度进行寻址.
我该怎么做才能保证我的C(或C99)编译器在所有情况下都只能生成完整的32位宽读写?
例如,如果我执行这样的读 - 修改 - 写操作:
volatile uint32_t* p_reg = 0xCAFE0000;
*p_reg |= 0x01;
Run Code Online (Sandbox Code Playgroud)
我不希望编译器明智地知道只有底部字节发生变化并产生8位宽的读/写.由于机器代码在x86上的8位操作通常更密集,我害怕不必要的优化.一般情况下禁用优化不是一种选择.
-----编辑-------
一篇有趣且非常相关的论文:http://www.cs.utah.edu/~regehr/papers/emsoft08-preprint.pdf
我正在使用C#和Visual Studio 2010.
当我OutputDebugString用来编写调试信息时,它应该出现在输出窗口中吗?
我可以OutputDebugString在DebugView中看到输出,但我想我会在Visual Studio的Output窗口中看到它.我看过菜单工具?选项?调试?常规,输出未被重定向到立即窗口.我也看了菜单工具*?选项?调试?输出窗口和所有常规输出设置都设置为"开".最后,我使用了Output窗口中的下拉列表来指定应该出现Debug消息.
如果我更改菜单工具*?选项?调试?一般将输出重定向到立即窗口,OutputDebugString消息不会出现在即时窗口中.
这是我的整个测试程序:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
using System.Diagnostics;
namespace OutputDebugString
{
class Program
{
[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
public static extern void OutputDebugString(string message);
static void Main(string[] args)
{
Console.WriteLine("Main - Enter - Console.WriteLine");
Debug.WriteLine("Main - Enter - Debug.WriteLine");
OutputDebugString("Main …Run Code Online (Sandbox Code Playgroud) 我有一个网站表,其中有一个客户表的外键.网站并不总是会有一个关联的客户端,但是当我在没有指定客户端的情况下保存网站时,它会出错,因为Website.ClientID是一个int32(不可为空)并且设置为0.
我尝试将我的EF图中的关系更改*为网站的旁边和客户端旁边的0..1然后它给出一个错误,说它不能为ClientID做0..1,因为它不可为空.然后我将Website.ClientID更改为可为空,但现在它给出了此错误:
TothSolutions.msl(69,10) : error 3031: Problem in mapping fragments starting
at line 69:Non-nullable column Website.ClientID in table Website is mapped to
a nullable entity property.
Run Code Online (Sandbox Code Playgroud)
如何设置依赖对象可以为空的外键关系?
我有一个插件,可以访问length许多元素的属性.但是,javascript控制台指向jquery.min.js的第12行.
如何回溯以查找插件中的违规行?
前段时间,jdk 6发布了带有" 基于注释的SQL查询 "的JDBC4 .我正在寻找测试方法,但没有在JDK 6中找到所需的类(如java.sql.BasicQuery).在Google上搜索了一点,我发现java.net上有一个线程告诉这些"用户的易用性" "由于缺乏时间,JDK中最终没有包含这些功能.这里有人告诉我更多关于这些功能的未来可用性吗?
我想将查询集条件保存到数据库以供重用.
所以,如果我有一个像这样的查询集:
Client.objects.filter(state='AL')
# I'm simplifying the problem for readability. In reality I could have
# a very complex queryset, with multiple filters, excludes and even Q() objects.
Run Code Online (Sandbox Code Playgroud)
我想保存到DB而不是查询集的结果(即具有匹配'AL'的状态字段的各个客户端记录); 但是查询集本身(即用于过滤客户端模型的标准).
最终目标是拥有一个"已保存的过滤器",可以从数据库中读取并由多个django应用程序使用.
起初我以为我可以序列化查询集并保存它.但序列化查询集实际上执行查询 - 然后我在序列化时最终得到了阿拉巴马州的静态客户端列表.我希望列表是动态的(即每次我从DB读取它应该执行的查询集并检索Alabama中最新的客户端列表).
编辑:或者,是否可以获取应用于查询集的过滤器列表?
就像是:
qs = Client.objects.filter(state='AL')
filters = qs.getFilters()
print filters
{ 'state': 'AL' }
Run Code Online (Sandbox Code Playgroud) 我从Python 2.6中调用pipe.communicatePython的subprocess模块.我从这段代码中得到以下错误:
from subprocess import Popen
pipe = Popen(cwd)
pipe.communicate( data )
Run Code Online (Sandbox Code Playgroud)
对于任意cwd,以及data包含unicode(特别是0xE9)的地方:
Exec. exception: 'ascii' codec can't encode character u'\xe9' in position 507: ordinal not in range(128)
Traceback (most recent call last):
... stdout, stderr = pipe.communicate( data )
File
"/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/subprocess.py",
line 671, in communicate
return self._communicate(input)
File
"/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/subprocess.py",
line 1177, in _communicate
bytes_written = os.write(self.stdin.fileno(), chunk)
Run Code Online (Sandbox Code Playgroud)
我认为这是正在发生的,因为pipe.communicate()期望ASCII编码的字符串,但是data是unicode.
这是我遇到的问题,我是否有办法将unicode传递给pipe.communicate()?
谢谢你的阅读!
布赖恩
有人检查电子邮件地址的域名作为其验证步骤的一部分吗?例如.如果用户指定blah@gmail.com作为他们的地址,请确认gmail.com存在.
我应该注意,在我的webapp中,现有用户可以将邀请转发给他们的朋友.我根本不需要验证这些邀请.相反,我只是想警告我的用户是否有错字等可能正在向错误的人发送邀请.这甚至值得吗?
我想获得BindingSource连接或配置的项目类型.BindingSource.DataSource属性可以设置为对象,列表或类型.如果它是一个Type,它显然还没有绑定项,但我仍然希望得到Type.对于List,我需要项目Type,而不是列表类型.
我目前有一个自定义列表类型用于实现IListItemType接口的业务对象,我创建这个接口是为了解决这个问题.我现在想以更通用的方式使用它,以便它可以用于任何列表.
我已经查看了API文档以获得这样做的好方法,但到目前为止我还没有运气.我错过了什么,或者这只是我不能或不应该做的事情?