我需要解码包含查询字符串的URI; 预期的输入/输出行为类似于以下内容:
abstract class URIParser
{
/** example input:
* something?alias=pos&FirstName=Foo+A%26B%3DC&LastName=Bar */
URIParser(String input) { ... }
/** should return "something" for the example input */
public String getPath();
/** should return a map
* {alias: "pos", FirstName: "Foo+A&B=C", LastName: "Bar"} */
public Map<String,String> getQuery();
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试过使用java.net.URI,但它似乎解码了查询字符串所以在上面的例子中我留下了"alias = pos&FirstName = Foo + A&B = C&LastName = Bar"所以有一个歧义"是& "是查询分隔符,或者是查询组件中的字符.
编辑:我刚刚尝试了URI.getRawQuery()并且它没有进行编码,所以我可以用a分割查询字符串&,但是我该怎么办?Javascript有decodeURIComponent,我似乎无法在Java中找到相应的方法.
有什么建议?我宁愿不使用任何新库.
我是否允许有一个名为'import'的目录包含Python代码?或者导入命令无法解析它的结果?那有什么办法吗?
当人们讨论国际化时,他们会经常使用"i18n"这个词.我第一次没有得到他们所指的i18n,然后我才知道它的国际化.那么想知道国际化= i18n怎么样?
我有一个表 2列每列800像素宽.我想在800x50窗口中显示此表.所以应该有水平和垂直滚动条来查看完整的表格.
虽然我在SO上找到了很少的相关解决方案(这个和这个),但它们只有在表格宽度小于屏幕尺寸时才有效.在我的情况下,屏幕大小为1200像素,总表格宽度为1600像素.
我怎么能这样做?我希望实现这样的目标.
编辑 哎呀,我忘了添加一个要求.抱歉.我希望用户滚动表时表的标题保持固定.
EDIT2
我已经尝试了下面提到的解决方案来包装div,但在这种情况下,垂直滚动条不显示.请用包装器div 查看此表.如果表格宽度大于屏幕尺寸,似乎只会出现此问题.我正在测试FF3.6.
EDIT3
当前表代码.即使我可以垂直滚动,也没有垂直滚动条.
<div style="overflow:scroll; width:800px;height:50px" >
<table style="width:1600px" border="1">
<thead>
<tr>
<th style="width:800px">id_1</th>
<th style="width:800px">id_1</th>
</tr>
</thead>
<tbody style="">
<tr><td>1200</td><td>1200</td></tr>
<tr><td>1200</td><td>1200</td></tr>
<tr><td>1200</td><td>1200</td></tr>
<tr><td>1200</td><td>1200</td></tr>
<tr><td>1200</td><td>1200</td></tr>
<tr><td>1200</td><td>1200</td></tr>
</tbody>
</table>
</div>
Run Code Online (Sandbox Code Playgroud) 这似乎是一个新手问题,但事实并非如此.一些常见的方法并不适用于所有情况:
这意味着使用path = os.path.abspath(os.path.dirname(sys.argv[0])),但如果您从另一个目录中的另一个Python脚本运行,这不起作用,这可能发生在现实生活中.
这意味着使用path = os.path.abspath(os.path.dirname(__file__)),但我发现这不起作用:
py2exe没有__file__属性,但有一个解决方法execute()没有__file__属性NameError: global name '__file__' is not defined回答不完整的相关问题:
我正在寻找一个通用的解决方案,一个适用于所有上述用例的解决方案.
这是测试用例的结果:
a.py: __file__= a.py
a.py: os.getcwd()= C:\zzz
b.py: sys.argv[0]= a.py
b.py: __file__= a.py
b.py: os.getcwd()= C:\zzz
Run Code Online (Sandbox Code Playgroud)
#! /usr/bin/env python
import os, sys
print "a.py: sys.argv[0]=", sys.argv[0]
print "a.py: __file__=", __file__
print …Run Code Online (Sandbox Code Playgroud) 我需要使用Python计算目录中的文件数.我想最简单的方法是len(glob.glob('*')),但这也将目录计为文件.
有没有办法只计算目录中的文件?
我有一个问题,在将.NET字符串编码为base64时使用哪种Unicode编码?我知道Windows上的字符串是UTF-16编码的,所以我的编码方式是正确的吗?
public static String ToBase64String(this String source) {
return Convert.ToBase64String(Encoding.Unicode.GetBytes(source));
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用以下代码行将呼叫的振铃模式更改为RINGER_MODE_SILENT.
AudioManager am = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
am.setRingerMode(AudioManager.RINGER_MODE_SILENT);
Run Code Online (Sandbox Code Playgroud)
虽然RINGER_MODE_SILENT的文档说它也应该停止振动,但手机停止响铃会继续振动.
我正在使用SDK 1.6
更新:
由于我还没有找到解决方案,我尝试手动停用振动设置.
am.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, AudioManager.VIBRATE_SETTING_OFF );
Run Code Online (Sandbox Code Playgroud)
但这也不能防止电话形式在呼叫进入时振动.
有任何想法吗?
更新2:
今天我试图通过振动物体取消振动来解决问题.
Vibrator vib = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
vib.cancel();
Run Code Online (Sandbox Code Playgroud)
再次,没有成功.现在我已经没有想法,并且问自己是否有可能完全停止振动.
更新3:
当我重新读取Vibrator类的文档时,我发现了另一个有趣的事实.文件说:
"如果你的过程退出,你开始的任何振动都会停止."
这听起来好像振动与启动它的过程相关联,并且无法从另一个过程访问.
我是Scala的新手...这是代码:
def ack2(m: BigInt, n: BigInt): BigInt = {
val z = BigInt(0)
(m,n) match {
case (z,_) => n+1
case (_,z) => ack2(m-1,1) // Compiler says unreachable code on the paren of ack2(
case _ => ack2(m-1, ack2(m, n-1)) // Compiler says unreachable code on the paren of ack2(
}
}
Run Code Online (Sandbox Code Playgroud)
我试图理解......为什么会出现这个错误?
注意:我正在使用Scala Eclipse Plugin 2.8.0.r21376-b20100408034031 ch.epfl.lamp.sdt.feature.group