本文整理匯總了Python中pycket.values_string.W_String.fromascii方法的典型用法代碼示例。如果您正苦於以下問題:Python W_String.fromascii方法的具體用法?Python W_String.fromascii怎麽用?Python W_String.fromascii使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類pycket.values_string.W_String
的用法示例。
在下文中一共展示了W_String.fromascii方法的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: num2str
# 需要導入模塊: from pycket.values_string import W_String [as 別名]
# 或者: from pycket.values_string.W_String import fromascii [as 別名]
def num2str(a, radix):
from rpython.rlib.rbigint import BASE8, BASE16
if radix.value == 10:
return W_String.fromascii(a.tostring())
else:
if isinstance(a, values.W_Fixnum):
if radix.value == 16:
res = hex(a.value)
if a.value >= 0:
res = res[2:]
else:
res = "-" + res[3:]
return W_String.fromascii(res)
#elif radix.value == 8:
# return W_String.fromascii(oct(a.value))
# elif radix.value == 2:
# return W_String.fromascii(bin(a.value))
else:
raise SchemeException("number->string: radix unsupported")
elif isinstance(a, values.W_Bignum):
if radix.value == 16:
return W_String.fromascii(a.value.format(BASE16))
elif radix.value == 8:
return W_String.fromascii(a.value.format(BASE8))
elif radix.value == 2:
return W_String.fromascii(a.value.format("01"))
else:
raise SchemeException("number->string: radix unsupported")
elif isinstance(a, values.W_Flonum):
raise SchemeException("number->string: flonum only supports radix 10")
else:
assert 0 # not reached
示例2: string_append
# 需要導入模塊: from pycket.values_string import W_String [as 別名]
# 或者: from pycket.values_string.W_String import fromascii [as 別名]
def string_append(args):
if not args:
return W_String.fromascii("")
builder = StringBuilder()
unibuilder = None
for a in args:
if not isinstance(a, W_String):
raise SchemeException("string-append: expected a string")
if unibuilder is None:
try:
builder.append(a.as_str_ascii())
continue
except ValueError:
unibuilder = UnicodeBuilder()
unibuilder.append(unicode(builder.build()))
unibuilder.append(a.as_unicode())
if unibuilder is None:
return W_String.fromascii(builder.build())
else:
return W_String.fromunicode(unibuilder.build())
示例3: string
# 需要導入模塊: from pycket.values_string import W_String [as 別名]
# 或者: from pycket.values_string.W_String import fromascii [as 別名]
def string(args):
if len(args) == 0:
return W_String.fromascii("")
assert len(args) > 0
builder = UnicodeBuilder()
# XXX could do one less copy in the ascii case
for char in args:
if not isinstance(char, values.W_Character):
raise SchemeException("string: expected a character")
builder.append(char.value)
return W_String.fromunicode(builder.build())
示例4: make_string
# 需要導入模塊: from pycket.values_string import W_String [as 別名]
# 或者: from pycket.values_string.W_String import fromascii [as 別名]
def make_string(k, char):
if char is None:
char = u'\0'
else:
char = char.value
c = ord(char)
if k.value < 0:
raise SchemeException("make-string: around negative")
if c < 128:
char = chr(c)
return W_String.fromascii(char * k.value)
else:
char = unichr(c)
return W_String.fromunicode(char * k.value)
示例5: symbol_to_string
# 需要導入模塊: from pycket.values_string import W_String [as 別名]
# 或者: from pycket.values_string.W_String import fromascii [as 別名]
def symbol_to_string(v):
if v.asciivalue is not None:
return W_String.fromascii(v.asciivalue)
return W_String.fromunicode(v.unicodevalue)
示例6: bytes_to_string_latin
# 需要導入模塊: from pycket.values_string import W_String [as 別名]
# 或者: from pycket.values_string.W_String import fromascii [as 別名]
def bytes_to_string_latin(str, err, start, end):
# XXX Not a valid implementation
return W_String.fromascii("")
示例7: symbol_to_string_impl
# 需要導入模塊: from pycket.values_string import W_String [as 別名]
# 或者: from pycket.values_string.W_String import fromascii [as 別名]
def symbol_to_string_impl(v):
asciivalue = v.asciivalue()
if asciivalue is not None:
return W_String.fromascii(asciivalue)
return W_String.fromunicode(v.unicodevalue())