【问题标题】:python chr(128) not converting decimal values greater than 127python chr(128) 不转换大于 127 的十进制值
【发布时间】:2014-01-31 11:12:06
【问题描述】:

python chr(128) 不转换大于 127 的十进制值,显示下面提到的字符

chr(128)
�

我是 python 新手。请帮帮我

【问题讨论】:

  • char() 取 0 到 255(总共 256 个值)对应的 ascii 字符,并将它们翻译成字符。
  • 您的实际期望是什么?你的代码是什么?你的问题是什么/为什么这种行为对你来说是个问题?
  • 其实我的闲置显示欧元货币符号'\x80' => €
  • 这完全取决于您的终端编码(和 python 版本;在 python 3 中,参数是 Unicode 代码点)。

标签: python chr


【解决方案1】:

我在我的代码中添加了下面提到的对我有用的条件。

if decValue > 127:             
    charValue = unichr(decValue)

else:    
    charValue = chr(decValue)

【讨论】:

    【解决方案2】:

    它实际上是在转换它,这是chr()的预期行为!

    >>> chr(128)
    '\x80'
    >>> print chr(128)
    ?
    >>> 
    

    【讨论】:

      【解决方案3】:

      问题出在您用来显示该值的设备上:它是否支持该字符?

      在我的 DOS 窗口中:

      >>> chr(128)
      '\x80'
      >>> print chr(128)
      Ç
      >>> print chr(129)
      ü
      

      【讨论】:

        猜你喜欢
        • 2019-11-29
        • 2011-09-15
        • 1970-01-01
        • 1970-01-01
        • 2016-04-30
        • 2015-03-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多