关于PHP输出字符串多了两个字节的BUG

近日IOS开发那边小伙伴跟我说,解析服务器发回的字符信息时候出现bug.

明明利用Log输出来的是字符串“hello”  可是利用length计算就是多出来两个字节,比如这里是7.

我一听没道理啊,于是检查我的服务器输出,首先开始排除是不是在某个echo或者print的时候,多输出了两个字符。

可是任我查来查去都木有这个问题,直接从服务器echo的时候判断长度输出,也没有复现这个问题。

真是一脸懵逼,毕竟PHP不是那么熟悉。

最后的最后,当我晚上十点钟,我通过Python访问传回的字符串,发现每个返回的字符串前面都多了“\r\n”的,因为正常的log里面,这俩字符都自动换行了没有显示,所以完全没想到。

我自然去寻找我如何显示输出了“\r\n”,然而当我找遍脚本没发现这俩货时,我的内心是崩溃的o(╯□╰)o。

最后的最后,问题竟然在于某一个include的php脚本的最后多了一个空行!!!!!

<?php

echo "hello";

?>
//就是这个空行,会导致你输出“\r\nhello” ........

所以 你就在我每个输出前面加个空行,手动黑人问号脸!

PHP是世界上最好的语言!!!!!!

时间: 2024-10-07 05:59:58

关于PHP输出字符串多了两个字节的BUG的相关文章

cout 输出字符串(指针)常见问题及put,write函数

C++ ostream类为下面的指针类型定义了插入运算符函数: const signed char *; const unsigned char *; const char *; void *; C++用指向字符串存储位置的指针来表示字符串,指针的形式可以是char数组名,显式的char指针或用引号括起来的字符串. 下面是一个简单输出字符串的例子: #include <iostream> using namespace std; int main() { char name[] = "

Python练习题8(替换相同的字符串并输出):输入两个字母串,将两个字母串都包含的字母用&#39;_&#39;替换后,输出两个字母串的剩余部分 (不能为空串,区别大小写,只能包含字母)

方法一:检查输入是否为空串,循环字母串,相同的则替换,然后再用replace()方法去除,输出想要的结果 1 def str_replace(messages1,messages2): 2 if messages1.strip() == '' or messages2.strip() == '' : #检验输入不能为空串 3 tips = "输入字母串有空串,不合法" 4 return tips 5 6 if not messages1.encode('UTF-8').strip().

Python格式化输出字符串 (%, format(), f&#39;&#39;)

格式说明符/占位符:% 目的:格式与内容分离,制作复杂的公共字符串模板,让某些位置变成动态可输入的. 用法:' %[datatype]  '  % (data, data, ...) %前设置输出格式,用引号括起来:%后设置输出内容,格式部分有几个%,内容部分就有几个数据,多个数据时用小括号括起来,并用逗号分隔. 需要输出%时,可以用%%转义,就取消了占位符的作用 print('3%%%s' % 'gg') 结果: 3%gg 整型 %o 八进制 ,%d  (或%i)十进制,%x 十六进制 pri

谭浩强 c程序设计 8.17用递归法将一个整数n转换成字符串。例如,输入486,应输出字符串&quot;486&quot;。n的位数不确定,可以是任意位数的整数。

8.17用递归法将一个整数n转换成字符串.例如,输入486,应输出字符串"486".n的位数不确定,可以是任意位数的整数. #include <stdio.h> char str1[20];int i=0;long n;int main(){        int longToStr(long n);    char *revstr(char *str, int len);    printf("请输入一个整数n:\n");    scanf("

跟王老师学Java三大特性(二):案例 QuickHit:游戏输出字符串

案例 QuickHit:游戏输出字符串 主讲教师:王少华   QQ群号:483773664 学习目标 完成游戏输出字符串 一.需求说明 在控制台输出随机字符串 二.思路分析 生成字符串 输出字符串 返回字符串 三.难点提示 Game类中的player属性,代表玩家,查询player的级别号,根据级别号到LevelParam类中获取该级别的字符串长度 字符串长度固定可以通过for循环来实现,而随机内容可以通过获取随机数,而不同随机数对应不同字符来实现 四.参考代码 1 2 3 4 5 6 7 8

【C++】输入并反向输出字符串

<pre name="code" class="cpp">// 反向输出字符串 #include<iostream> #include<string.h> using namespace std; void f(char p[]); int main() { char s[50]; cout<<"请输入一个字符串: "; cin>>s; f(s); cout<<"反

JavaScript-3.1--获取用户的输入,输出用户输入的两数之和---ShinePans

提示用户输入两个数,然后输出用户输入的两数之和 第一次输入 ,输入处为空 第二个输入,输入处为默认27  (这里强调语句的使用) <html> <head> <meta http-equiv="content-type" content="text/html;charset=GB2312"/> <title> 3.1 让用户输入两个数字,然后输出相加的结果 </title> </head> &l

给定两个字符串,获取两个字符串中最大相同的子串

1 package weekpratisce; 2 3 ///给定两个字符串,获取两个字符串中最大相同的子串 4 public class Demo9 { 5 public static void main(String[] args) { 6 String xx = "aaaaaaaaaaddddddd", yy = "45ddddda"; 7 String str = getMaxsubstring(xx, yy); 8 System.out.println(s

printf输出字符串的一些格式

1. 原样输出字符串:    printf("%s", str); 2. 输出指定长度的字符串, 超长时不截断, 不足时右对齐:    printf("%Ns", str);             --N 为指定长度的10进制数值 3. 输出指定长度的字符串, 超长时不截断, 不足时左对齐:    printf("%-Ns", str);            --N 为指定长度的10进制数值 4. 输出指定长度的字符串, 超长时截断, 不足时