我(在SQLite数据库中)有以下字符串:
????? ? ??????? ?? ????? ????????, ??????? ? ???????????? ?????? ??????? ??????.
PHP使用正确显示该字符串print.我想获得这个字符串的前50个字符,即
????? ? ??????? ?? ????? ????????, ??????? ? ?????.
我尝试过使用substr和mb_substr,然后得到
????? ? ??????? ?? ????? ???,即只有28个字符.
在这里和其他地方读到mbstring的问题之后,我意识到这实际上是一个50字节的字符串(22个俄语字符= 44个字节加上5个空格加1个问号).
这有什么好的解决方案吗?我的所有字符串都是UTF-8,所以我当然可以自己编写一个子函数,通过检查每个字节的第一位等等.但这肯定是在之前完成的,对吧?
更新:我认为mb_substr无法正常工作,因为mb_detect_encoding() 无法正常工作.
我有一个矢量a = [1 5 3 4 2].我想找到a的所有元素,它们都是1<a<5.我怎么在Matlab中做到这一点?
就个人而言,我已经开发出一种解决方案,但它很麻烦:
a = [1 5 3 4 2];
ix = find(a>1);
ix = ix(find(a(ix)<5));
disp(a(ix))
Run Code Online (Sandbox Code Playgroud)
什么是更好的方式?
Matlab最近推出了一种新的类型持续时间.所以我可以这样做:
>> d = datetime('12:10:00') - datetime('12:05:00')
d =
00:05:00
>> whos d
Name Size Bytes Class Attributes
d 1x1 128 duration
Run Code Online (Sandbox Code Playgroud)
现在我想输出一些duration类型的计算结果,使用fprintf.但是duration既不是数字也不是字符串,也没有创建字符串的方法.我该怎么做才能fprintf接受它?
我在Matlab 2014b.
在使用Hg版本的小型项目工作了一段时间后,我今天验证了本地和中央Mercurial存储库.在本地我没有错误或警告,"存储库使用revlog格式1".但是我得到了中央存储库
repository uses revlog format 1
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
warning: `x' uses revlog format 0
warning: `xx' uses revlog format 0
warning: `xxx' uses revlog format 0
...
Run Code Online (Sandbox Code Playgroud)
(总共13种类型的警告).我可以摆脱这些警告吗?
我在samba服务器上有一个中央Hg存储库,还有两个工作副本,一个在Ubuntu上,一个在Windows 7上.一切正常,直到我错误地将一个带有俄文字母的文件添加到项目中.我在Linux上做过.Mercurial乐意接受它,在Linux中,一切仍然有效.但是我发现我不能再将更改集拉到Windows了.因为hg pull我明白了
pulling from ...
searching for changes
adding changesets
transaction abort!
rollback completed
abort: empty or missing revlog for figures/interfDðÁsign.svg
Run Code Online (Sandbox Code Playgroud)
(该problematc文件名应为interfDеsign,用西里尔字母中它е').我已经改名为Linux中的文件,提交和推送的变化,甚至可以看到这种变化,如果我做hg in在Windows中.但我不能拉它!有没有办法纠正这个问题,并使存储库再次与Windows一起使用?
我正在尝试编写我的第一个 MediaWiki 扩展并且需要某种方法来调试它。最简单的方法是什么?显示消息、登录文件等就可以了。我只想慢慢地研究代码,看看它在哪里中断以及变量的内容是什么。
我试过(来自http://www.mediawiki.org/wiki/Manual:How_to_debug#Useful_debugging_functions)
// ...somewhere in your code
if ( true ) {
wfDebugLog( 'myext', 'Something is not right: ' . print_r( 'asdf', true ) );
}
Run Code Online (Sandbox Code Playgroud)
在 extensions/myext/myext.php 并添加到 LocalSettings.php
require_once( 'extensions/myext/myext.php' );
# debugging on
$wgDebugLogGroups = array(
'myext' => 'extensions/myext/myextension.log'
);
Run Code Online (Sandbox Code Playgroud)
但后来我的 Wiki 根本不起作用(错误 500)。将上述代码从 myext.php 中删除后,一切正常(在 myext.php 中使用 $wgExtensionCredits,我可以在 Special:Version 中看到 myext)。
这是正确的做法(那么错误是什么)还是有更好/更简单的开始方式?
我是Python的初学者,想开始学习它.也就是说,我想在一大堆家庭照片中纠正一些EXIF信息.首先,我想正确地从JPEG文件中获取这些信息.
其中一些人用EXIF写的标题.它可以通过例如获得
import pyexiv2
metadata = pyexiv2.ImageMetadata(filename)
metadata.read()
title = metadata['Exif.Image.XPTitle']
Run Code Online (Sandbox Code Playgroud)
我到目前为止.现在出现了问题.一些标题包含西里尔字母.如果我这样做,print title.human_value我会举个例子
`Милой Мамуле от Майи, 11 ÑÐ½Ð²Ð°Ñ€Ñ 1944.`
Run Code Online (Sandbox Code Playgroud)
同时print title,它是
<Exif.Image.XPTitle [Byte] = 28 4 56 4 59 4 62 4 57 4 32 0 28 4 48 4 60 4 67 4 59 4 53 4 32 0 62 4 66 4 32 0 28 4 48 4 57 4 56 4 44 0 32 0 49 0 49 0 32 0 79 …Run Code Online (Sandbox Code Playgroud) 我有一个包含几个键值列表的类.每个键(在列表中)应该是唯一的,所以我使用HashMap.当代码中的某个地方我向列表添加一个新项目时,我正在使用HashMap put(K, V).如果尝试添加具有已存在密钥的项目,我希望我的代码抛出异常.并且,因为这样的添加是在程序的许多地方执行的,所以我想避免在每个地方添加检查.所以应该是列表类本身不允许替换现有的键值对.
我想用我自己的一个扩展HashMap类,它将执行这样的检查并抛出异常.但是,HashMap put不会抛出异常,所以我也不能这样做.
实现这种行为的好方法是什么?我准备好用更好的东西替换HashMap,但我需要它在添加和检索项目时都要快.
更新: 感谢所有许多好建议.由于我是一个完整的Java新手,我现在需要学到很多才能选择最好的一个:)无论如何,我很感激在午餐休息时间有这么多选择!
我认为deal应该这样做,但事实并非如此,我找不到另一个好的解决方案.
我有一个阵列a = 1:2.我想将值1和2放入结构数组中,b如下所示:
b(1).a = 1
b(2).a = 2
Run Code Online (Sandbox Code Playgroud)
令我惊讶的是,[b(1:2).a] = deal(1:2)不处理值,而是将向量[1 2]放入a结构的每个字段b:
>> b(1)
ans =
a: [1 2]
>> b(2)
ans =
a: [1 2]
Run Code Online (Sandbox Code Playgroud)
我在这里遗漏了一些语法吗?
我在Windows中使用Python和Django的经验有限,现在我想了解如何将代码部署到Ubuntu 16.04 LTS VPS。阅读了关于SE的各种教程和很多答案之后,我设法进行了很长时间(对我而言),但是现在我陷入了困境。
手动(通过腻子)我可以执行以下操作:
# check that Python 3.5 is installed
python3 --version
# install pip
sudo -kS apt-get -y install python3-pip
# upgrade pip to newest version
pip3 install --upgrade pip
# check result
pip3 --version
# install venv
sudo -kS pip3 install virtualenv virtualenvwrapper
# create venv
virtualenv ~/Env/firstsite
# make sure venv is created
ls -l ~/Env/firstsite/bin/python # /home/droplet/Env/firstsite/bin/python3.5 -> python3
# switch on venv
source ~/Env/firstsite/bin/activate # (firstsite) droplet@hostname:~$
# check that python3 is taken …Run Code Online (Sandbox Code Playgroud)