Конвертировать биты в секунду (бит / с) в читаемый формат - PullRequest
2 голосов
/ 21 мая 2019

Как я могу конвертировать / вычислять биты в секунду (бит / с) в читаемый формат, такой как 10 Мбит / с, 7 Гбит / с, 5 Тбит / с, 4 Пбит / с, 3 Эбит / с ... и т. Д. В iOS.

Лучший

Ответы [ 2 ]

2 голосов
/ 21 мая 2019

Objective-C

- (NSString *)convertBitrateToHumanReadable:(long long)bytes {
    NSByteCountFormatter * formatter = [[NSByteCountFormatter alloc] init];
    return [formatter stringFromByteCount:bytes];
}

Swift 5

func convertBitrateToHumanReadable(bytes: Int64) -> String {
    let formatter = ByteCountFormatter()
    return formatter.string(fromByteCount: bytes)
}

Вы можете добавить ps (в секунду) к результатуесли хочешь.

0 голосов
/ 21 мая 2019

Это метод, который я использую для конвертации.Конечно, это только мои потребности.

- (NSString*)convertBitrateToHumanReadable:(NSInteger)bytes {
        int i = -1;

        NSArray *byteUnits = @[@"kbps", @"Mbps", @"Gbps", @"Tbps", @"Pbps", @"Ebps", @"Zbps", @"Ybps"];

        do {
            bytes = bytes / 1024;
            i++;
        } while (bytes > 1024);


        if (i > 0 & bytes > 1) { // ignores kbps and only allow 2 Mbps and above
            int bitSize = (int)(MAX(bytes, 0.1));

            return [NSString stringWithFormat:@"%i %@", bitSize, byteUnits[i]];
        } else {
            return @""; // if 1 Mbps or kbps level returns empty string
        }
    }

Надеюсь, это поможет кому-то еще.

...