diff --git a/frameworks/inner/ipc/common/bt_uuid.cpp b/frameworks/inner/ipc/common/bt_uuid.cpp index 04816b8bd55f6a8c3342d8f27375718e99b3a798..cf5cb3ce695b3af0bd36d60ac90229409913b44e 100644 --- a/frameworks/inner/ipc/common/bt_uuid.cpp +++ b/frameworks/inner/ipc/common/bt_uuid.cpp @@ -91,7 +91,8 @@ Uuid Uuid::ConvertFromString(const std::string &name) } for (std::size_t i = 0; (i + 1) < tmp.length(); i += SIZE_STRING_TO_INT) { - ret.uuid_[i / SIZE_STRING_TO_INT] = std::stoi(tmp.substr(i, SIZE_STRING_TO_INT), nullptr, UUID128_BYTES_TYPE); + std::string str = tmp.substr(i, SIZE_STRING_TO_INT); + std::from_chars(str.data(), str.data() + str.size(), ret.uuid_[i / SIZE_STRING_TO_INT], UUID128_BYTES_TYPE); } return ret;