小编FZE*_*FZE的帖子

为什么Java char使用UTF-16?

最近我读了很多关于unicode代码点以及它们如何随着时间的推移而演变的事情,并确定我也阅读了http://www.joelonsoftware.com/articles/Unicode.html.

但是我无法找到Java使用UTF-16作为char的真正原因.

例如,如果我的字符串包含1024个字母的ASCII范围charachter字符串.这意味着1024 * 2 bytes它相当于它将消耗的2KB字符串存储器.

因此,如果Java base char是UTF-8,那么它只有1KB的数据.即使字符串具有需要2字节的任何字符串,例如10字符"字符"自然也会增加内存消耗的大小.(1014 * 1 byte) + (10 * 2 bytes) = 1KB + 20 bytes

结果并不是那么明显1KB + 20 bytes VS. 2KB我不会说ASCII,但我对此的好奇心是为什么它不是UTF-8,它只是照顾多字节字符.UTF-16在任何具有大量非多字节字符的字符串中看起来像浪费内存.

这背后有什么好理由吗?

java unicode utf-8 utf-16

14
推荐指数
1
解决办法
3038
查看次数

如何处理PHP表单中的多个复选框?

我的表单上有多个复选框:

<input type="checkbox" name="animal" value="Cat" />
<input type="checkbox" name="animal" value="Dog" />
<input type="checkbox" name="animal" value="Bear" />
Run Code Online (Sandbox Code Playgroud)

如果我检查所有三个并点击提交,请在PHP脚本中使用以下代码:

if(isset($_POST['submit']) {
   echo $_POST['animal'];
}
Run Code Online (Sandbox Code Playgroud)

我得到"熊",即最后选择的复选框值,即使我选了所有三个.怎么得到所有3?

html php

13
推荐指数
3
解决办法
3万
查看次数

什么是EXT_NOP和EXT_STMT,PHP操作码

我试图通过仅针对我的实现执行本机php函数来了解更深入的PHP内部信息。

但是在每个操作码转储中,我都会看到以下两个操作码:

EXT_NOPhttp : //php.net/manual/tr/internals2.opcodes.ext-nop.php

EXT_STMThttp : //php.net/manual/tr/internals2.opcodes.ext-stmt.php

如您在文档中所见,没有详细的解释。

即使在文档中给出的以下示例中,我的转储也不同于文档的特殊化。我真的很想知道为什么每个垃圾场都有这两个摊位吗?它们的功能是什么?

<?php
/*
 * no operation
 * opcode number: 0
 */
function A(){}; 
?>
Run Code Online (Sandbox Code Playgroud)

环保化:

LXC
Linux web 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u5 (2015-10-09) x86_64 GNU/Linux  
PHP 5.6.15-1~dotdeb+7.1 (cli) (built: Nov  3 2015 16:29:58) 
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies
    with Xdebug v2.3.3, Copyright (c) 2002-2015, by …
Run Code Online (Sandbox Code Playgroud)

php xdebug opcode php-opcode

4
推荐指数
1
解决办法
292
查看次数

Symfony2 Assert\Expression 注释不支持常量

Constants一般来说,我在所有基于注释的地方使用,例如annotations, route and assert annotations,但在 Assert\Expression 中它会抛出Variable "EntityInterface" is not valid around position 26. 这是一个错误还是一个特殊的罕见情况?

<?php

    /**
     * @var string
     *
     * @ORM\Column(name="id_number", type="string", length=11, nullable=true)
     * @Assert\Expression(
     *     "this.getNationality() == EntityInterface::COUNTRY_DEFAULT_VALUE and value != null",
     *     message = "form.user.validation.id_number.blank",
     *     groups = {"personal_info"}
     * )
     * @Assert\Regex(
     *      pattern="/^([\d]{11})$/",
     *      match=true,
     *      message="form.user.validation.id_number.regex",
     *      groups = {"personal_info"}
     * )
     */
    private $idNumber;
Run Code Online (Sandbox Code Playgroud)

php annotations metaprogramming symfony

3
推荐指数
1
解决办法
4136
查看次数

unix域套接字执行任何文件系统读写操作?

在unix域套接字上使用memcached,是否有任何文件系统读/写?如果是这样的话,这是不是试图减少或完全清除任何文件系统操作的工具的不利之处?

或以另一种方式询问,是否有可能仅将内存用于Unix域套接字?

我仍然不确定Unix Domain Sockets是否使用文件系统,我不是C专家,而是关于https://github.com/torvalds/linux/blob/master/net/unix/af_unix的概述。 c的实现,我看到有文件系统的用法。那不是仅在内存上工作吗?

编辑:阅读完我的问题和描述之后,我知道我问了很多问题,问题本身与描述几乎不同。我想填补我的信息空白,对于这个混杂的问题,我们深表歉意。

unix sockets linux linux-kernel

3
推荐指数
1
解决办法
1110
查看次数

简单的雅虎天气Api不工作

我正在使用一个简单的代码,其中包含一个雅虎api代码,以获取我的城市的天气,并放入我的网页,但是,我只是读到雅虎公共api不再工作,我不知道怎么能得到这个代码工作,我有一个雅虎帐户,我创建了一个API,我不知道如何继续,因为在这里.如果有人可以帮助我,这就是代码:

<?php
/*Clima*/
if(isset($_POST['zipcode']) && is_numeric($_POST['zipcode'])){
    $zipcode = $_POST['zipcode'];
}else{
    $zipcode = 'ARMA0056';
}
$result = file_get_contents('http://weather.yahooapis.com/forecastrss?p=' . $zipcode . '&u=c');
$xml = simplexml_load_string($result);

//echo htmlspecialchars($result, ENT_QUOTES, 'UTF-8');

$xml->registerXPathNamespace('yweather', 'http://xml.weather.yahoo.com/ns/rss/1.0');
$location = $xml->channel->xpath('yweather:location');

if(!empty($location)){
    foreach($xml->channel->item as $item){
        $current = $item->xpath('yweather:condition');
        $forecast = $item->xpath('yweather:forecast');
        $current = $current[0];
        $clima = <<<END
           <span>{$current['temp']}&deg;C</span>

END;
    }
}else{
    $clima = '<h1>No results found, please try a different zip code.</h1>';
}
/*Clima*/
?> 
Run Code Online (Sandbox Code Playgroud)

api yahoo weather

2
推荐指数
1
解决办法
3万
查看次数

抽象公共静态与抽象静态公共之间的PHP差异

我错误地将方法签名定义为

abstract static public function mapAttributeKeys(array $attributes)

它运行正常,但是当我重构代码时,我发现它看起来不太好,应该根据我的习惯来遵循.

abstract public static function mapAttributeKeys(array $attributes)

我对这两个如何运作感到惊讶.我以为上面的语法是错误的语法.

所以这两个正在发挥作用.这个定义没有严格限定的原因吗?或者类似于模式的匹配在这里?

我的实际目的是了解为什么存在这些灵活性?是否存在任何特殊方法或实施技巧?

更新 :

我看到/sf/answers/751804791/这个解释真有意义.

An abstract function will never be static, in any kind of language
Run Code Online (Sandbox Code Playgroud)

如果是真的,为什么存在实施?

甚至在symfony验证器加载器中.

https://github.com/symfony/validator/blob/master/Tests/Mapping/Loader/AbstractStaticMethodLoader.php

php oop

0
推荐指数
1
解决办法
734
查看次数