php ord函数,PHP之string之ord()函数使用

ord

(PHP 4, PHP 5, PHP 7)

ord — Return ASCII value of character

ord — 返回字符的 ASCII 码值

Description

int ord ( string $string )

//Returns the ASCII value of the first character of string.

//返回字符串 string 第一个字符的 ASCII 码值。

//This function complements chr().

//该函数是 chr() 的互补函数。

Parameters

string

A character.

一个字符。

Return Values

Returns the ASCII value as an integer.

返回整型的 ASCII 码值。

Examples

/**

* Created by PhpStorm.

* User: zhangrongxiang

* Date: 2018/2/18

* Time: 下午9:43

*/

$str = 'abcdef';

for ( $i = 0; $i < strlen( $str ); $i ++ ) {

echo $str[ $i ] . ' : ' . ord( $str{$i} ) . PHP_EOL;

}

/*

* a : 97

* b : 98

* c : 99

* d : 100

* e : 101

* f : 102

*/

echo ord( 'a' ) . PHP_EOL;//97

echo ord( 'b' ) . PHP_EOL;//98

function ordutf8( $string, &$offset ) {

$code = ord( substr( $string, $offset, 1 ) );

$bytesnumber = 0;

if ( $code >= 128 ) { //otherwise 0xxxxxxx

if ( $code < 224 ) {

$bytesnumber = 2;

} //110xxxxx

else if ( $code < 240 ) {

$bytesnumber = 3;

} //1110xxxx

else if ( $code < 248 ) {

$bytesnumber = 4;

} //11110xxx

$codetemp = $code - 192 - ( $bytesnumber > 2 ? 32 : 0 ) - ( $bytesnumber > 3 ? 16 : 0 );

for ( $i = 2; $i <= $bytesnumber; $i ++ ) {

$offset ++;

$code2 = ord( substr( $string, $offset, 1 ) ) - 128; //10xxxxxx

$codetemp = $codetemp * 64 + $code2;

}

$code = $codetemp;

}

$offset += 1;

if ( $offset >= strlen( $string ) ) {

$offset = - 1;

}

return $code;

}

$text = "中国?";

$offset = 0;

while ( $offset >= 0 ) {

//0: 20013

//3: 22269

//6: 128516

echo $offset . ": " . ordutf8( $text, $offset ) . PHP_EOL;

}

function uniord( $u ) {

$k = mb_convert_encoding( $u, 'UCS-2LE', 'UTF-8' );

$k1 = ord( substr( $k, 0, 1 ) );

$k2 = ord( substr( $k, 1, 1 ) );

return $k2 * 256 + $k1;

}

echo uniord( "中" ) . PHP_EOL;//20013

echo uniord( "国" ) . PHP_EOL;//22269

//error

echo uniord( '?' ) . PHP_EOL;//63

See

All rights reserved

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在C语言中,可以使用sprintf()函数将一个整数转换为字符串。sprintf()函数可以将格式化的数据写入一个字符串中。 以下是一个示例代码,将整数n转换为字符串s: ``` #include <stdio.h> void intToString(int n, char* s) { sprintf(s, "%d", n); } int main() { int n = 123; char s[100]; intToString(n, s); printf("%s\n", s); return 0; } ``` 在这个示例代码中,intToString()函数将整数n转换为字符串s,使用sprintf()函数将n转换为格式化字符串,并将其写入s中。在主函数中,将整数123转换为字符串并输出。需要注意的是,s数组必须足够大,以容纳转换后的字符串。 ### 回答2: 将int转换为string函数可以使用以下的方法来实现: 1. 数字的每一位转换:将int数值按位相除并保存每一位的数字,然后将数字转换为对应的字符,最后将字符依次拼接成字符串。 ```python def int_to_string(number): if number == 0: return "0" is_negative = False if number < 0: is_negative = True number = -number result = "" while number > 0: digit = number % 10 result = chr(ord("0") + digit) + result number //= 10 if is_negative: result = "-" + result return result ``` 2. 使用内置函数使用内置函数`str()`可以直接将int转换为string。 ```python def int_to_string(number): return str(number) ``` 以上是两种将int转换为string的方法,你可以根据需要选择使用哪一种。 ### 回答3: 要将int转换为string,可以使用以下方法: 1. 使用to_string函数:to_string是C++11提供的一个函数,可以将整数转换为字符串。例如,要将一个整数num转换为字符串,可以使用以下代码: ```cpp int num = 123; std::string str = std::to_string(num); ``` 在上述代码中,to_string函数将整数num转换为相应的字符串,并将其赋值给变量str。 2. 使用stringstream:stringstream是一个流类,可以将各种类型转换为字符串。例如,要将一个整数num转换为字符串,可以使用以下代码: ```cpp int num = 123; std::stringstream ss; ss << num; std::string str = ss.str(); ``` 在上述代码中,首先通过stringstream类创建一个流对象ss,然后使用流操作符<<将整数num写入流中,最后通过成员函数str将流转换为字符串并赋值给变量str。 3. 使用sprintf函数:sprintf是C语言中的一个函数,用于将格式化的数据写入字符串中。要将一个整数num转换为字符串,可以使用以下代码: ```cpp int num = 123; char str[20]; // 设置足够大的字符数组 sprintf(str, "%d", num); ``` 在上述代码中,首先定义一个足够大的字符数组str来存储转换后的字符串,然后使用sprintf函数将整数num格式化为字符串,并将其存储在字符数组str中。 以上是三种将整数转换为字符串的方法,可以根据具体的情况选择适合的方法来完成转换。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值