2014-01-21 2 views
0

모든 유형의 데이터를 포함 할 수있는 문자열의 크기를 확인하고 싶습니다. strlen과 mb_strlen을 확인했지만 다른 데이터 내용과 관련된 차이점이 확실하지 않습니다.모든 유형의 데이터를 포함 할 수있는 PHP 문자열의 크기

배경 : 내가해야 할 일은 문자열을 청크로 잘라서 직렬화하고 청크로 저장하는 것입니다 (나중에 복원 할 수 있음). 청크는 항상 동일한 크기 (32Kb)를 가지며 데이터가있는 직렬화 된 객체와 내가 자르는 문자열 부분을 포함하므로 문자열의 정확한 크기가 필요합니다. PHP 매뉴얼에서

+1

참조 http://stackoverflow.com/questions/1447699/strlen-mb-strlen-which-to-use – Thompson

답변

2

: 반면

Note: 
strlen() returns the number of bytes rather than the number of characters in a string. 

는 mb_strlen는 고려 문자 인코딩을 취할 것입니다. 문자열의 문자 인코딩에 정의 된 실제 문자 수를 반환합니다. 멀티 바이트/가변 바이트 문자 인코딩의 경우 strlen은 mb_strlen보다 클 수 있습니다.

mb_strlen은 테스트중인 문자열이 일치하지 않는 문자 인코딩을 지정하면 FALSE를 반환 할 수도 있습니다.

관련 문제